バッテリー寿命が特定のレベルを下回ると、バッテリーを節約する方法のオプションを含むダイアログが表示されるように、Andoid アプリを作成しています。これらのオプションの 1 つは、を使用してすべてのバックグラウンド アプリ/サービス (プロセス) を閉じることですActivityManager.killBackgroundProcesses()
。コードは次のとおりです。
public void TaskKiller( View view){
List<ApplicationInfo> packages;
PackageManager pm;
pm = getPackageManager();
packages = pm.getInstalledApplications(0);
ActivityManager mActivityManager = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);
for (ApplicationInfo packageInfo : packages) {
mActivityManager.killBackgroundProcesses(packageInfo.packageName);
}
}
ただし、TaskKiller() を呼び出してバックグラウンド プロセスを閉じるボタンをクリックすると、一部のアプリ (メール、Google マップ) がすぐに再起動プロセスを開始します。これらのアプリが再び開かれるまで閉じたままになるようにコードを変更するにはどうすればよいですか? また、このアプローチは電力の節約に関して賢明ですか、それとも間違った方法で攻撃していますか?