serviceManager

Project Url: Euzee/serviceManager
Introduction: Simple android util that helps to use background services as Job without hard changes. Compatible with Android O .
More: Author   ReportBugs   
Tags:

GitHub license CircleCI

Habrahabr

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.
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools