我有3个Android应用程序。如果用户打开了app1,则应检查app2和/或app3是否正在运行,如果是,请将其杀死。
这是我尝试过的。
在每个应用程序中实现了BroadcastReceiver()。
mFinishReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.v("intent", "Got Kill Intent, I am " + pn);
if (killAction.equals(intent.getAction())) {
killmePlease(pn, killAction);
}
}
};
registerReceiver(mFinishReceiver, intentFilter);
然后,使用此我尝试杀死应用程序..
private void killmePlease(String pn) {
Intent _killme = new Intent(this, MainActivity.class);
startActivity(_killme);
try {
Log.v("intent", "Finishing " + pn);
setResult(RESULT_OK);
MainActivity.this.finish();
System.exit(0);
Log.v("intent", "Finished");
return;
} catch (Exception ex) {
Log.v("intent", "Error Killing " + ex.getMessage());
}
}
但是,应用程序仍在运行,没有抛出任何错误。有人可以告诉我我错过了什么吗?