gpt4 book ai didi

android - killBackgroundProcesses 没有工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:51:01 25 4
gpt4 key购买 nike

首先,我在 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" />

我真的卡住了,任何帮助将不胜感激!

最佳答案

/当应用程序或进程显示在屏幕上时,Android 不会终止应用程序或进程,即 Activity View 。所以切换到主屏幕,然后杀死你想要的应用程序或进程/

    public void KillApplication(String KillPackage)
{
ActivityManager am = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);

Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(startMain);



am.killBackgroundProcesses(KillPackage);
Toast.makeText(getBaseContext(),"Process Killed : " + KillPackage ,Toast.LENGTH_LONG).show();
}

关于android - killBackgroundProcesses 没有工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19604097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com