我有一个警报广播接收器,我想检查我的应用程序是否完全关闭,这意味着应用程序既不在前台也不在后台运行。
任何人都可以告诉我如何检查这个?
答案 0 :(得分:0)
您可以创建service
并覆盖onTaskRemoved()
方法
用户已删除任务意味着将应用程序从任务中滑出 名单。从手机设置停止服务不会触发 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));
答案 1 :(得分:-1)
在您的Application类中:
public class MyApplication extends Application {
@Override
public void onTerminate() {
super.onTerminate();
// your app is closed
}
}