2017-02-09 39 views
0

我有一個警報廣播接收器,我想檢查我的應用程序是否完全關閉,這意味着應用程序既不在前臺也不在後臺運行。Android:檢查應用程序是否關閉

任何人都可以告訴我該怎麼檢查?

+0

http://stackoverflow.com/questions/5593115 /運行代碼時,Android的應用程序是封閉發送到背景這應該包含所有你需要的答案 – Nico

回答

-1

在您的應用程序類:

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不被稱爲當應用程序被操作系統殺死。\ –

相關問題