如何从服务中终止Android应用程序?

时间:2013-12-24 05:38:36

标签: android

在我的Android服务中收到某个事件后,我想从服务中终止该应用。我知道我可以在活动中调用finish来结束它。

我也理解,服务会自行调用stopSelf()来结束自己。但我需要终止整个应用程序,包括当时可见的应用程序的任何特定活动。

有什么想法吗?

2 个答案:

答案 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));