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
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.