android:什么时候被认为是一个任务背景?

时间:2013-12-01 11:37:18

标签: android process signals background-process

我正在尝试使用特定的packageName杀死特定的应用程序。 所以这就是我正在做的事情:我使用服务,服务侦听前台进程,一旦找到特定的包,就会触发一个杀手活动,杀手活动现在是一个前景,只有一个textview,显示正确传递包名称。 在杀手活动中,我正在尝试所有这些杀手命令而没有任何反应。 如果我按回去,我会直接去接触未被触及的应用程序。

        ActivityManager activityManager = (ActivityManager) 
             getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
        activityManager.killBackgroundProcesses(mPackagename);

        android.os.Process.killProcess(pid);
        activityManager.restartPackage(mPackagename);
        Process.killProcess(mPID);

特别是我无法理解:为什么包裹不被杀死:

activityManager.killBackgroundProcesses(mPackagename);

是否因为Android不将目标视为背景?

任何想法的人??

P.S.1:是的,我添加了这些权限:

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

P.S.2:请不要告诉我它的坏事我不应该这样做。我知道。谢谢:))

P.S.3:这就是我服务中发生的事情。

 List<RunningAppProcessInfo> appProcesses= activityManager.getRunningAppProcesses();

   for (RunningAppProcessInfo appProcess : appProcesses) {

 try {
                                    if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
                                        if (!lastFrontAppPkg.equals((String) appProcess.pkgList[0])) {
                                                 lastFrontAppPkg = (String) appProcess.pkgList[0];

                                                 if(!lastFrontAppPkg.equals("android") && mLockedAppString.contains(lastFrontAppPkg)) {
    password to launch the lastFrontAppPkg if the pass is correct

         Log.d(TAG, "Found a locked: " + lastFrontAppPkg);


                     Intent i = new Intent();
                                                     i.setClass(getApplicationContext(), PasswordCheck.class);
                                                     i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                                                     i.putExtra(FOUND_LOCKED_PID, appProcess.pid);
                                                     i.putExtra(FOUND_LOCKED_PACKAGE, lastFrontAppPkg);
                                                     startActivity(i);
                                                     stopSelf();

                                                 }

                                         }
                                    }
                               }
                                      catch (Exception e) {
                                      //e.printStackTrace();
                                    }
                            }   

0 个答案:

没有答案