2015-03-22 16 views
5

Sto tentando di avviare un servizio da un altro servizio. Ma chiedo cosa non va. Il codice è comeAvvio del servizio da un altro servizio

class Service1 extends GCMBaseIntentService { 

    @Override 
    protected void onMessage(Context arg0, Intent intent) { 
     Toast.makeText(getApplicationContext(), "Hello", Toast.LENGTH_LONG).show(); 
     Intent service = new Intent(getApplicationContext(), Service2.class); 
     startService(service); 
    } 
} 

E Service2 è

class Service2 extends Service { 

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     // TODO Auto-generated method stub 
     Toast.makeText(getApplicationContext(), "Service Started", Toast.LENGTH_LONG).show(); 
    } 
} 

sto ottenendo il Toast "Ciao" in Service1, ma non ottenere Toast "servizio avviato" dal Service2

+0

Provare 'Service1.this' o' getBaseContext() 'invece di' getApplicationContext() 'nell'intento di avviare Service1 – Apurva

+0

Si è verificato un errore? – Keshav1234

+0

Ho provato molte possibilità incluso questo, ma niente ha funzionato –

risposta

12

Invece di usare getApplicationContext() dovresti usare Service1.this o getBaseContext(). Hai dichiarato il tuo Service2 su AndroidManifest?

+10

Ohhhh .... Il Manifesto ... Dovrei schiaffarmi una volta per tutto questo ... Comunque, grazie mille :) –

+0

Nessun problema! Penso che tutti noi conosciamo queste situazioni solo troppo bene;) –

Problemi correlati