2013-07-11 3 views
2

Я попытался убить запущенные приложения, используя следующий код, но он не работает, пожалуйста, дайте какое-либо предложение. Использование restartPackage(), KillingBackgroundProcess(), android.os.processes.killprocess(pid), но ничего не работает. Он не поддерживается ядром android или android и не дает нам такого большого разрешения, чтобы убивать другие приложения.Не удалось убить запущенное приложение

Intent ints = new Intent(Intent.ACTION_MAIN, null); 
ints.addCategory(Intent.CATEGORY_LAUNCHER); 

checkedapp = name.get(position); 

Log.w("Checked app name", checkedapp); 

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(); 

    Log.w("packagename", packageName); 
    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(); 
    } 

    if (checkedapp.equals(pName)) 
    { 

     am1.killBackgroundProcesses(packageName); 

     //String pid = Integer.toString(temp.id); 

     int pid=temp.id; 

    android.os.Process.killProcess(pid);  

//Log.w("processid", pid); 

icons.remove(position); 
name.remove(position); 

} 

Is it really not possible to force stop any running application in android programmatically. 
Please help. 
+1

Вы добавили разрешение в файл манифеста?

+0

yes.I добавил эти разрешения в свой androidmanifest.xml –

+0

Это это не то, что вы должны делать; что это возможно в некоторых старых версиях Android, в основном это ошибка дизайна. –

ответ

2

Это невозможно, чтобы убить другой процесс приложения от вашего, от ICS это ограничение подразумевает. написанный вами код может работать в более ранних версиях, но я никогда не пробовал их.

+0

Я использую этот код на 2.3 Gingerbread, но он все еще не работает. –

Смежные вопросы