好吧,我的问题和标题一样简单:
有没有办法在应用程序内的所有正在运行的活动上调用finish()?
所以我需要一种方法来完全关闭我的应用程序。
答案 0 :(得分:1)
您可以使用BroadCastReceiver实现此目的:
在每项活动中:
private BroadcastReceiver mLoggedOutReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
finish();
}
};
在onCreate中注册接收器:
registerReceiver(mLoggedOutReceiver, new IntentFilter(Preferences.INTENT_ACTION_LOGGED_OUT));
on onDestroy:
@Override
public void onDestroy() {
super.onDestroy();
unregisterReceiver(mLoggedOutReceiver);
}
在每个活动的清单和以下过滤器上:
<intent-filter>
<action android:name="com.example.intent.action.LOGGED_OUT" />
</intent-filter>
我在Preference类中声明了Action,如下所示:
public static final String INTENT_ACTION_LOGGED_OUT = "com.example.intent.action.LOGGED_OUT";//logout
最后你要做的就是从退出按钮或其他东西调用sendBroadcast:
sendBroadcast(new Intent(Preferences.INTENT_ACTION_LOGGED_OUT));//logout
希望这有帮助。
答案 1 :(得分:0)
android.os.Process.killProcess(android.os.Process.myPid());
此代码可以关闭您的应用。
答案 2 :(得分:0)
NO
但你可以存在像System.exit(0);
这样的洞应用程序,但它不是重新编写的方式......如果没有设计退出应用程序。