0

在下面给定的代码中,我想杀死(强制停止)所有检查的应用程序,但是在重新启动我的应用程序后,它再次显示这些被杀死的应用程序的名称。

我真的不知道他们是不是真的被杀了。为什么会这样?

kill.setOnClickListener(new OnClickListener() 
    {
      @Override
     public void onClick(View v) 
     {

                   //Killing selected Apps 

                    String savedapp;
            int code = 0;
            int count = lv.getAdapter().getCount();

            for (int j = 0; j < count; j++)
            {
                if (lv.isItemChecked(j))
                {
                    Intent ints = new Intent(Intent.ACTION_MAIN, null);
                    ints.addCategory(Intent.CATEGORY_LAUNCHER);

                    savedapp = lv.getItemAtPosition(j).toString();
                    nm.removeAll(nm);
                    // this.l = getListView();
                    // l.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
                    PackageManager pm = getApplicationContext().getPackageManager();

                    List<ResolveInfo> intentlist = pm.queryIntentActivities(ints, PackageManager.PERMISSION_GRANTED);

                    ActivityManager am1 = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);

                    List<RunningTaskInfo> processes = am1.getRunningTasks(Integer.MAX_VALUE);

                    if (processes != null) 
                    {
                        for (int i = 0; i < processes.size(); i++) {
                            String packageName = processes.get(i).topActivity
                                    .getPackageName();
                            RunningTaskInfo temp = processes.get(i);
                            try
                            {
                                pName = (String) pm.getApplicationLabel(pm
                                        .getApplicationInfo(packageName,
                                                PackageManager.GET_META_DATA));
                            } 
                            catch (NameNotFoundException e) 
                            {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
                        //  int f = 0;
                            if (savedapp.equals(pName)) {
                                // finish(pm.);
                                code = intentlist.get(i).activityInfo
                                        .hashCode();
                                finishActivity(code);

                                am1.killBackgroundProcesses(packageName);
                                am1.restartPackage(packageName);
                                android.os.Process.killProcess(temp.id);

                                finishActivity(temp.id);

                                // Toast.makeText(this, packageName,
                                // Toast.LENGTH_SHORT).show();
                                //f = 1;
                            } 
                            else 
                            {
                                nm.add(pName.trim());
                            }

                        }

                    }
                }
            }
}
};//kill button close
4

0 回答 0