2016-05-29 1 views
0

J'utilise le code ci-dessous pour démarrer un service. ce service doit démarrer la tâche Async qui vérifie mysql et fournit des notifications. le service ne démarre pas et je ne peux pas trouver pourquoi? Je ne reçois aucun journal du service. (lorsque j'appelle directement la tâche Async de l'activité principale sans service, cela fonctionne correctement).Service avec tâche asynchrone ne démarre pas

Code Activité principale:

Intent startIntent = new Intent(MainActivity.this, ForegroundService.class); 
MainActivity.this.startService(startIntent); 

Code de classe de service:

public class ForegroundService extends Service { 
    private static final String LOG_TAG = "ForegroundService"; 

    @Override 
    public void onCreate() { 
     Log.i(LOG_TAG, "On Create"); 

    } 

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     Log.i(LOG_TAG, "On Start"); 
     new Thread(new Runnable() { 

      @Override 
      public void run() { 
       String newoperator = "Go"; 
       TimeSync ReportCheck= new TimeSync(getApplicationContext()); 
       ReportCheck.execute(newoperator); 
      } 

     }).start(); 
     return START_STICKY; 
    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     Log.i(LOG_TAG, "In onDestroy"); 
    } 

    @Nullable 
    @Override 
    public IBinder onBind(Intent intent) { 

     return null; 
    } 
} 

Je trouve aussi quelques solutions en ajoutant la commande suivante dans l'activité principale, mais la commande n'est pas applicable dans mon studio android.

startIntent.setAction(Constants.ACTION.STARTFOREGROUND_ACTION); 
+1

Vérifiez les points suivants: 1. Le service est déclaré dans le manifeste 2. le journal dans le onStartCommand est imprimé 3. Connectez le onCreate est imprimé –

+0

parfait, j'ai eu des problèmes, le premier que je n'étais pas déclarer le service dans le fichier mainifest, le second que je faisais la classe de service entravée dans MainActivityClass. Je l'ai déplacé à une classe distincte et cela fonctionne :) merci –

+0

super :) heureux que cela a aidé –

Répondre

1

Quelle version d'android studio utilisez-vous? Avez-vous essayé de mettre à jour à la dernière version?

Download Android Studio 2.1

+0

J'ai le dernier, problème résolu en déclarant le service dans le fichier Manifestes. merci –

+0

Je suis content que vous avez réussi à résoudre votre problème :) –