2017-02-09 5 views
0

У меня есть приемник сигнала тревоги, где я хочу проверить, полностью ли закрыто мое приложение, что означает, что приложение не работает ни на переднем плане, ни в фоновом режиме.Android: проверьте, закрыто ли приложение.

Может ли кто-нибудь сказать мне, как я могу проверить это?

+0

http://stackoverflow.com/questions/5593115/run-code-when-android-app-is-closed-sent-to-background Это должно содержать все необходимые вам ответы – Nico

ответ

-1

В классе Application:

public class MyApplication extends Application {  
    @Override 
    public void onTerminate() { 
     super.onTerminate(); 
     // your app is closed 
    } 
} 
0

Вы можете создать service и переписать onTaskRemoved() метод

Из Documentation

пользователь удалила задача означает ударяя приложение из из задачи список. Остановка службы из настроек телефона не запускается Service.onTaskRemoved().

Код:

public class AppStopped extends Service { 

    @Override 
    public IBinder onBind(Intent intent) { 
     return null; 
    } 

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     Log.d("Service", "Service Started"); 
     return START_NOT_STICKY; 
    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     Log.d("Service", "Service Destroyed"); 
    } 

    @Override 
    public void onTaskRemoved(Intent rootIntent) { 
     Log.e("Service", "END"); 
     Toast.makeText(getApplicationContext(), "App Stopped", Toast.LENGTH_SHORT).show(); 
     //Code here 
     stopSelf(); 
    } 
} 

В манифесте:

<service android:name="com.example.AppStopped" 
    android:stopWithTask="false" /> 

Запустите службу в своей деятельности, как:

startService(new Intent(getBaseContext(), AppStopped.class)); 
+0

Будет ли это работать, даже если приложение будет убито ОС. –

+0

попробуйте код, который будет работать ... – rafsanahmad007

+0

Я пробовал это, но onTaskRemoved не вызывается, когда приложение убито ОС. \ –

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