私はルート化されていないAndroid 2.3.4デバイスを持っていて、時々気が狂い始め、理由もなく100%のCPU電力を使用するアプリ(私のアプリではない)を使用しています(これはバグです)。デバイスの速度が低下します。タスクキラーを使用して終了できますが、それは実際にはオプションではないため、他のアプリを監視し、異常な 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);
通常のタスクキリング ツールを使用して終了することができます (実際にそうであることが確認されました) が、他の手段ではなく、自分でプログラムを使用して実行したいと考えています (つまり、アプリを使用せずに再起動することも意味します)。
どうすればそのようなプロセスを終了できますか?
PS: プロセスの終了は、通常の状況では Android に任せるべきですが、この場合は明らかに不十分なので、自分で処理する必要があります。