在我的Android服务中收到某个事件后,我想从服务中终止该应用。我知道我可以在活动中调用finish
来结束它。
我也理解,服务会自行调用stopSelf()
来结束自己。但我需要终止整个应用程序,包括当时可见的应用程序的任何特定活动。
有什么想法吗?
答案 0 :(得分:0)
试试这个:
Process.killProcess(Process.myPid());
答案 1 :(得分:0)
您可以使用BroadcastReceiver创建BaseActivity,以通过在BaseActivity的onCreate()
中注册并使用BaseActivity扩展所有活动来关闭所有活动。
public static final String EXIT_APP_ACTION = "EXIT_APP_ACTION";
BroadcastReceiver ExitAppBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
finish();
}
};
使用
在onCreate()
中为应用程序中的BaseActivity注册它
registerReceiver(ExitAppBroadcastReceiver, new IntentFilter(EXIT_APP_ACTION));
然后,您可以使用上下文从您的服务中激活此BroadcastReceiver,以通过调用stofSelf()
关闭所有活动,包括服务,
stopSelf()
context.sendBroadcast(new Intent(BaseActivity.EXIT_APP_ACTION));