我有一个具有处理程序的服务,它必须每5秒钟在 logcat 中写一次“ Hello”。但是它不会在 logcat 上写任何东西... ... 就好像服务没有执行,我在它上面放了一个断点,调试模式永远不会在断点上停止。
在我的应用程序的第一个活动中,我用以下内容启动服务:
startService(new Intent(GPSLoc.this, MyServiceNotifications.class)); //enciendo el service
我确信执行代码 startService
是因为在启动另一个活动之前调用了它,并且启动了另一个活动。
这是我的服务准则:
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");
}
}