簡體   English   中英

Android - 在沒有系統權限的情況下殺死另一個應用程序

[英]Android - Kill another app without system permission

我有一個可以啟動其他應用程序的應用程序。

這行得通,我可以做到。

現在,我還想殺死由我的應用程序啟動的應用程序。

但我找不到這樣做的方法(我的應用程序沒有系統權限)。

我試圖列出所有當前正在運行的進程以獲取它們的 PID 並用它殺死,但我只能獲取我的應用程序的 PID。

我試圖殺死后台進程(我知道應用程序的 package 名稱)但它不起作用。

那么,有沒有辦法在沒有系統權限的情況下用我的應用程序殺死其他應用程序?

我認為首先要做到這一點,你應該認真閱讀谷歌指南,以確保你必須發布它。 必須向最終用戶征求所有內容的許可。 最終,您可以查看我是否沒有弄錯哪些其他軟件包在運行時,一旦您知道了,您可能會找到殺死它們的方法。 試試這個並在你的清單上添加“android.permission.KILL_BACKGROUND_PROCESSES”權限:

private void killOtherApps(String packageTokill){

    List<ApplicationInfo> packages;
    PackageManager pm;
    pm = getPackageManager();
    //get a list of installed apps.
    packages = pm.getInstalledApplications(0);


    ActivityManager mActivityManager = (ActivityManager) MainActivity.this.getSystemService(Context.ACTIVITY_SERVICE);
    String myPackage = getApplicationContext().getPackageName();

    for (ApplicationInfo packageInfo : packages) {

        if((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM)==1) {
            continue;
        }
        if(packageInfo.packageName.equals(myPackage)) {
            continue;
        }
        if(packageInfo.packageName.equals(packageTokill)) {
            mActivityManager.killBackgroundProcesses(packageInfo.packageName);    
        }

    }

}

如果您想要做的事情被允許,那將是一個巨大的安全問題——所以事實並非如此。 沒有辦法解決這個問題——因為那將是一個巨大的安全問題。

您將需要:

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

沒有這些權限,這是不可能的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM