Simple android util that helps to use background services as Job without hard changes. Compatible with Android O .
Switch branches/tags
Clone or download
Latest commit 383e505 Jun 11, 2018

README.md

Android Arsenal GitHub license API CircleCI

Habrahabr

ServiceManager

A simple easy-to-use service manager for Android. Since Google released Android O - hard days for service background execution are come. You can use this library without even declaration of your service in manifest. Built over JobIntentService so it is compatible with all OS versions including Android O. ServiceManager can be used from any place with context only.

//No need to create classes and add manifest declarations

ServiceManager.runService(context, () -> {Logg.e(TAG,"Some Action");},true);

//if you have already prepared service you can us it as :
ServiceManager.runService(context, GeofenceTransitionsIntentService.class);

//or if you need to add some data or actions you can use it like :
 Intent geo = new Intent(context, GeofenceTransitionsIntentService.class);
 geo.setAction(GeofenceTransitionsIntentService.ACTION_REQUEST_LOCATIONS);
 ServiceManager.runService(context, geo);

In order to use it as last two ways - your service should extend CompatService

public abstract class CompatService extends JobIntentService

Example project could be found here

Callback

ServiceCallback will be called when service will be ready to execute some job. Just add your code in method onHandleWork() and that's it.

public interface ServiceCallback {
    void onHandleWork();
}

Download

Download

repositories {
    // yo can use 
    mavenCentral() // or jcenter()
    
    //or direct link to repository or jitpack
    maven { url  "http://dl.bintray.com/euzee/Libs" } // or maven { url "https://jitpack.io" }
}
(with gradle plugin less then v3 use 'compile' instead of implementation) 
implementation 'com.github.euzee:serviceManager:1.0.3'

License

Copyright 2017 Euzee, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.