我有一个无根的 Android 2.3.4 设备,并且正在使用一个应用程序(不是我的应用程序),它有时会开始发疯并无缘无故地使用 100% 的 cpu 电源(这是一个错误),这会很快耗尽电池电量,而且也相当大减慢设备速度。我可以使用 taskkiller 来结束它,但这并不是一个真正的选择,所以我制作了一个应用程序来监控其他应用程序,并在它检测到过于疯狂的 CPU 使用率时尝试结束它。
我现在面临的问题是如何结束该应用程序。我尝试了以下4种方法,但不幸的是无济于事:
ActivityManager actvityManager = (ActivityManager) getSystemService( ACTIVITY_SERVICE );
actvityManager.killBackgroundProcesses(packagename);
android.os.Process.sendSignal(pid, android.os.Process.SIGNAL_KILL);
android.os.Process.killProcess(pid);
actvityManager.restartPackage(packagename);
我可以使用常规的 taskkilling 工具来结束它(确实如此,我验证了这一点),但我想自己以编程方式而不是通过其他方式来完成它(我也指重新启动而不使用应用程序)。
我怎样才能结束这样的过程?
PS:我知道正常情况下进程的终止应该留给Android,但在这种情况下显然是不够的,所以我需要自己处理。