2013-03-13 113 views
1

我已经应用A和应用B从另一个应用程序关闭应用

我以这种方式推出B带从A意图:

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.setClassName("com.applicationB", "com.applicationB.MainActivity"); 
intent.putExtra(EXTRA_NAME,"name"); 
startActivity(intent); 

当用户关闭应用程序。我想申请B到也关闭。应用程序B具有JNI并使用exec()命令。

我试过android:sharedUserId但是当应用程序A试图与上面的代码推出B I得到这个错误:

Error running exec(). Command: [....] Working Directory: null Environment: (not null, it shows all the environment. 

任何想法?

回答

1

如果两个应用程序都由您自己编程,您可以考虑在应用程序B中添加一个BroadcastReceiver,注意所有活动都会关闭。在应用程序A关闭之前,请致电该接收器并完成。

如果您不确定显示哪项活动,您可以使用BroadcastReceiver扩展Activity类,以便通知所有活动。

如果应用程序B没有被您编程,您可以使用killbackgroundProcesses(),例如,

ActivityManager activityManager = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE); 
activityManager.killBackgroundProcesses(myProcessId); 

...但是,这只适用于应用程序B实际上在后台。此外,这并不是关闭应用程序的最佳选择,因为您不知道该应用程序正在执行什么操作。

编辑:在该主题上找到我最喜欢的示例:-)检查http://www.hrupin.com/2011/10/how-to-finish-all-activities-in-your-android-application-through-simple-call - 它显示了如何关闭应用程序内的所有活动。然而,从另一个角度来看这不是一大步......

相关问题