Why is this simple service not starting?
I have a service with a handler that has to write "Hello" in the logcat every 5 seconds. But it doesn't write nothing on the logcat... It's like the service is not executing, and I put a breakpoint on it and the debug mode never stops on the breakpoint.
I start the service, in the first activity of my app, with this:
startService(new Intent(GPSLoc.this, MyServiceNotifications.class)); //enciendo el service
I am sure that the code startService
is executed because it is called before starting another activity, and the other activity starts.
This is the code of my service:
public class MyServiceNotifications extends Service {
boolean serviceStopped;
private Handler mHandler;
private Runnable updateRunnable = new Runnable() {
@Override
public void run() {
if (serviceStopped == false)
{
createNotificationIcon();
}
queueRunnable();
}
};
private void queueRunnable() {
// 600000 : cada 10 minutos, comprueba si hay nuevas notificaciones y actualiza la
// notification BAR
mHandler.postDelayed(updateRunnable, 5000);
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
serviceStopped = false;
// //////////////////////////////////////MANEJADOR SIMILAR A UN HILO
mHandler = new Handler();
queueRunnable();
// ///////////////////////////////////// FIN MANEJADOR
}
@Override
public void onDestroy() {
serviceStopped = true;
}
@Override
public void onStart(Intent intent, int startid) {
}
public void createNotificationIcon()
{
Log.d("MyServiceNotifications", "Hello");
}
}
Solution 1:
Did you declare the service in AndroidManifest.xml
?
Solution 2:
Very important: write the name space correctly, for example:
<service android:name="com.example.data.synchronization.SynchronizationService"/>
in my AndroidManifest.xml
previously it was (wrong):
<service android:name="com.example.data.SynchronizationService"/>
No service started and no error message!