2017-02-21 25 views
-1
public class FirstService extends Service { 

    private static String TAG = "Service"; 
    Boolean isLoggedIn; 
    SharedPreferences sharedPreferences; 


    @Override 
    public IBinder onBind(Intent arg0) { 
     // TODO Auto-generated method stub 

     return null; 
    } 

    @Override 
    public void onStart(Intent intent, int startId) { 
     // TODO Auto-generated method stub 
     super.onStart(intent, startId); 
     Log.d(TAG, "FirstService started"); 
     sharedPreferences = getSharedPreferences(getPackageName(), MODE_PRIVATE); 
     isLoggedIn = sharedPreferences.getBoolean("isLoggedIn", false); 
     if(isLoggedIn){ 
      Intent intent1 = new Intent(this,MyFirebaseMessagingService.class); 
      startService(intent1); 
     } 
     else 
     { 
      stopService(new Intent(this, MyFirebaseMessagingService.class)); 
      stopService(new Intent(this, MyFirebaseInstanceIDService.class)); 
     } 


    } 


    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     sharedPreferences = getSharedPreferences(getPackageName(), MODE_PRIVATE); 
     isLoggedIn = sharedPreferences.getBoolean("isLoggedIn", false); 
     if(isLoggedIn){ 
      Intent intent = new Intent(this,MyFirebaseMessagingService.class); 
      startService(intent); 
     } 
     else 
     { 
      stopService(new Intent(this, MyFirebaseMessagingService.class)); 
      stopService(new Intent(this, MyFirebaseInstanceIDService.class)); 

     } 
     Log.d(TAG, "FirstService destroyed"); 
    } 

    @Override 
    public void onTaskRemoved(Intent rootIntent) { 
     super.onTaskRemoved(rootIntent); 
     sharedPreferences = getSharedPreferences(getPackageName(), MODE_PRIVATE); 
     isLoggedIn = sharedPreferences.getBoolean("isLoggedIn", false); 
     if(isLoggedIn){ 
      Intent intent = new Intent(this,MyFirebaseMessagingService.class); 
      startService(intent); 
     } 
     else 
     { 
      stopService(new Intent(this, MyFirebaseMessagingService.class)); 
      stopService(new Intent(this, MyFirebaseInstanceIDService.class)); 
     } 
     Log.d(TAG, "FirstService tastremove"); 
    } 
} 

Как остановить службу FCM в своей службе? Первая услуга начинается, но в фоновом режиме моя служба не работает, и служба FCM автоматически запускается и отправляет мне уведомление, даже если я не зарегистрирован в своем приложении?Невозможно остановить службу пожарной службы в моей службе

ответ

0

FirebaseMessagingService не играет активной роли в получении сообщений. Он используется только для обработки сообщений после их получения.

Даже если вы остановите его, Android запустит его снова, когда появятся новые сообщения.

Если вы хотите, чтобы ваше приложение прекращало получать сообщения, вы можете прекратить отправку, или вы можете удалить токен FCM с помощью FirebaseInstanceId.getInstance().deleteId()

 Смежные вопросы

  • Нет связанных вопросов^_^