2011-06-10 12 views
13

Öncelikle ben Android'de bir görev yöneticisi/katil kullanmak kötü olduğunu biliyoruz ve bütün bu, ama merak ne Advanced Task Killer gibi görev yöneticileri başka uygulamaları kapatmak mı nasıl?
Sadece öğrenme deneyimi için, bu yapacağını basit bir uygulama geliştirmek istedik.
benim uygulamadan Linux komut öldürme pid yürütme çalıştı ama işe yaramadı, belki de kök gerektirir?Görev Yöneticileri uygulamaları nasıl öldürür? Her şeyden

Peki benim uygulamadan Bunu başarmak mı? Şu anda çalışan görevler ve bir kullanıcı ben bu görevi öldürmek istediğiniz bir öğe uzun bastıran gösteren basit bir ListActivity var.

+0

http://stackoverflow.com/questions/4921244/android-task de bakabilirsiniz adb shell sisteminin/uygulama (kök izni) erişimi olması gerekir -Tamam, bunu kapsayan. –

+1

Teşekkürler, ama ben zaten bu yazıyı okudum :) Bu benim soruyu cevaplamıyor, Process.killProcess işlevi sadece ben yanlış değil eğer, benim kendi süreci ve başkalarını öldürmek için izin verir. Ayrıca benim uygulama üzerinde denedim ama işe yaramadı:/ –

cevap

9

kullanarak sinyali gönderebilir:

Process.sendSignal(pid, Process.SIGNAL_KILL); 

tamamen süreci öldürmek için, çağrı önerilir:

ActivityManager.killBackgroundProcesses(PackageName) 

sinyali göndermeden önce.

+0

nerede ActivityManager.killBackgroundProcesses olduğunu ... Bu yöntemin undefined olduğunu söylüyor ... – Taranasus

+0

api 7 – Taranasus

+1

kullanıyordum bu yüzden bu gerçekten harici uygulamaları öldürür ? Bunu nasıl kontrol edeceğimi bilmiyorum. ActivityManager.killBackgroundProcesses (PaketAdı); Process.sendSignal (pid, Process.SIGNAL_KILL); –

0

bu deneyin

android.os.Process.killProcess(pid) 

çalışacak ...

-1

1- Ekleme

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

2 tezahür - Kodunuzda

Runtime.getRuntime().exec("adb shell killall com.example.app"); 

Not: Uygulamanız

+1

aynı sorun var – Yehonatan

İlgili konular