Ho un servizio con un gestore che deve scrivere "Ciao" nel logcat ogni 5 secondi. Ma non scrive nulla sul logcat ... È come se il servizio non fosse in esecuzione, e ho inserito un breakpoint su di esso e la modalità di debug non si ferma mai sul breakpoint.Perché questo servizio semplice non si avvia?
ho avviare il servizio, nella prima azione del mio app, con questo:
startService(new Intent(GPSLoc.this, MyServiceNotifications.class)); //enciendo el service
Sono sicuro che il codice startService
viene eseguito perché si chiama prima di avviare un'altra attività, e l'altra attività inizia .
Questo è il codice del mio servizio:
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");
}
}
hai dichiarato il servizio nel file manifest? – Franco
metti un logcat all'interno di onCreate(), viene usato? Inoltre, quando stai chiamando run() su updateRunnable? Non riesco a vedere che viene eseguito – Jimmy
ohh vero, mi perdoni per mettere in maNIFEST !! grazie – NullPointerException