- Services are always running in the background, which performs long operation.
- They don't have any UI(User Interface) Components.
- By default, Services and Activities both are runs in same application.
- An example of a service is, music player that plays music in background.
- Two states of Services are,
- Started : A service starts by calling startService() method and runs in background until it destroyed.
- Bounded : An application component can interact with the service using bounded service. The bindService() method used to bind the component with service. The bounded service should be Unbind before destroying that service.
In Layout file(mainActivity.xml):
<Button android:id="@+id/btn1"
android:onClick="service_start"/>
<Button android:id="@+id/btn2"
android:onClick="service_stop"/>
In subclass of Activity(MainActivity.java):
// To start the service
public void service_start(View v)
{
startService(new Intent(getBaseContext(), CustomService.class));
}
// To stop the service
public void service_stop(View v)
{
stopService(new Intent(getBaseContext(), CustomService.class));
}
Create subclass of Service named CustomService.class file,
public class CustomService extends Service {
@Override
public IBinder onBind(Intent i) {
return null; // null represents No components are bind to service
}
@Override
public int onStartCommand(Intent i, int flag, int startId) {
Toast.makeText(this, "Service Successfully Started", Toast.LENGTH_LONG).show();
return 1;
}
@Override
public void onDestroy() {
super.onDestroy();
Toast.makeText(this, "Service Successfully Destroyed", Toast.LENGTH_LONG).show();
}
}
In order to use service, register it to AndroidManifest.xml
<application>
<service android:name = ".CustomService" />
</application>
Comments
Post a Comment