【发布时间】:2012-08-20 11:34:30
【问题描述】:
我试图杀死我的另一个应用程序。但是这段代码无法杀死我的另一个应用程序。我知道杀死另一个应用程序是一个坏主意。但是我有一个学习的目的,我已经尝试过杀人。我的代码部分:
Button runningApp = (Button) findViewById(R.id.runningApp);
runningApp.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
String nameOfProcess = "com.example.filepath";
ActivityManager manager = (ActivityManager)ApplicationActivity.this.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> listOfProcesses = manager.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo process : listOfProcesses)
{
if (process.processName.contains(nameOfProcess))
{
Log.e("Proccess" , process.processName + " : " + process.pid);
android.os.Process.killProcess(process.pid);
android.os.Process.sendSignal(process.pid, android.os.Process.SIGNAL_KILL);
manager.killBackgroundProcesses(process.processName);
break;
}
}
}
});
我添加了权限,它们是:
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
<uses-permission android:name="android.permission.GET_TASKS" />
每次我看到LogCat 时,特定的应用程序都在后台运行。我哪里看错了?
【问题讨论】:
-
这种事情是一个严重的安全问题,因此受到严格监管。如果您不拥有您要杀死的应用程序,我认为这是不可能的,但如果您这样做,我认为可以完成。您为什么不详细说明您正在尝试做的事情?
-
最近我被提到了Google Play,这里有些推出的应用是Task Killer。可能吗?如果可能,请任何人解释它是如何可能的。我需要学习概念。
标签: android