首先,我在 StackOverflow 上发现了一些类似的问题,但没有一个答案能解决我的问题。我还搜索了它并阅读了所有前 30 个结果。
所以我正在编写一个服务,它将每隔 20 秒检查一次在前台运行的内容。如果前台应用程序在黑名单上,那么我会弹出一个对话框 Activity 说“当前应用程序需要停止”,然后当用户按下该对话框的 OK 时,该应用程序将通过以下方法停止:
private void killApp(String packageName) {
ActivityManager am = (ActivityManager)getApplicationContext().getSystemService(ACTIVITY_SERVICE);
Log.d(TAG, "Trying to kill app " + packageName);
am.killBackgroundProcesses(packageName);
}
但是,在我的测试中,应用程序根本没有停止。当对话框关闭时,前台应用程序仍然存在,与弹出对话框之前的状态完全相同。我相信我拥有正确的 API 级别以及必要的权限:
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
我真的被卡住了,任何帮助将不胜感激!