2015-05-14 4 views
0

Я хочу убить другое приложение, у меня есть googled и посмотреть другой ответ на stackoverflow, но не получил удовлетворительного ответа. Здесь я пытаюсь убить приложение для просмотра (для тестирования). Я хочу сделать это, я хочу убить приложение, используя имя пакета.не удалось убить другой процесс

Log.d("Process", "in intent"); 
    ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); 
    List<ActivityManager.RunningAppProcessInfo> pids = am.getRunningAppProcesses(); 
    int processid = 0; 
    Log.d("Process",String.valueOf(pids.size())); 
    for(int i = 0; i < pids.size(); i++) 
    { 
     //Toast.makeText(getApplicationContext(),"on if", Toast.LENGTH_SHORT).show(); 
     ActivityManager.RunningAppProcessInfo info = pids.get(i); 
     if(info.processName.equalsIgnoreCase("com.android.browser")){ 
      Log.d("Process", "in if"); 
      //Toast.makeText(getApplicationContext(),"in if", Toast.LENGTH_SHORT).show(); 
      processid = info.pid; 
      Log.d("Process",String.valueOf(processid)); 
      android.os.Process.sendSignal(pids.get(i).pid, android.os.Process.SIGNAL_KILL); 
      android.os.Process.killProcess(processid); 

     } 
    } 

это мой код может кто-нибудь помочь мне? что мне не хватает?

in logcat Я получаю сигнал отправки. PID: 1524 SIG: 9

+0

Вы «не получили удовлетворены», потому что ** вы не должны делать это **, что-то другие ответы, без сомнения, сделал довольно ясно. –

ответ

1

READ FIRST, ВАЖНО: Вы можете убить только тот процесс, который имеет тот же идентификатор пользователя, что и тот, который совершает убийство. Если вы пытаетесь убить свой собственный процесс, он должен работать. В противном случае вы не сможете это сделать (, если у вас нет корневого устройства, а ваше приложение имеет привилегии root).


Вы должны были бы использовать ActivityManager: см http://developer.android.com/reference/android/app/ActivityManager.RunningAppProcessInfo.html для информации процесса.

Вы могли:

  1. Получить все запущенные процессы приложения.
  2. Найдите свое приложение.
  3. Получить свой PID.

Когда вы получаете PID:

android.os.Process.killProcess(PID); 
+0

, так что вы пытаетесь сказать, что я не могу убить браузер или другое приложение, хотя у меня есть PID? –

+0

нет, я говорю, что вы не можете убить любое другое приложение, если вы не ** root ** –

+0

ok .. я еще один вопрос: P. Q1) Что делать, если у меня есть не встроенное устройство, но некоторые, как я могу получить разрешение root в этой теме, могу ли я убить другие приложения? –

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