android - 如何使用它的名字杀死应用程序?

标签 android

有没有办法从应用程序名称中获取包名称?? 例如,如果应用程序名称是 location,我可以获取它的包名称 com.android.location,以便我可以使用

杀死它

am.killBackgroundProcesses(包名)

或者有人知道任何函数直接使用应用名称杀死。还有其他建议吗??

最佳答案

这将获取所有正在运行的进程并遍历所有进程以找到具有指定名称的进程并终止进程。

String nameOfProcess = "location";
ActivityManager  manager = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> listOfProcesses = manager.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo process : listOfProcesses)
{
    if (process.processName.contains(nameOfProcess))
    {
        // Ends the app
        manager.restartPackage(process.processName);
        break;
    }
}

要使用此方法,您需要以下权限:

<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.RESTART_PACKAGES"/>

关于android - 如何使用它的名字杀死应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6623961/

相关文章:

java - 运行android应用程序时出现运行时错误

java - 如何使 RealmList 可打包

java - 如何向 Assets 中预填充的 sqlite 数据库添加新列或表并使用 SQLiteAssetHelper

Android:长按操作按钮

android - Cordova 构建失败,缺少 SDK 平台组件

iphone - 如何在 Phonegap 中实现 SQLite 数据库?

android - Kotlin 顶层函数 vs 对象函数

android - 删除微调下拉菜单上的下划线并更改三角形的颜色

android - Unity 4.6 和 Android API 级别 8

javascript - React-Native-Crop-Image在android上不起作用,如何在android上裁剪图像,并且对于ios也应该相同