2017-10-09 14 views
-4

私は他のアンドロイドアプリケーションを閉じることができるはずのアプリケーションを構築しています。この場合、私はGoogleマップを使用しています。私は、Android Manifest XMLでkillBackgroundProcessesに許可を与えましたが、次のコードは "Google Maps"アプリケーションを閉じません。私のアプリはkillApp()を毎秒呼び出して、Google Mapsが閉じられるようにします。私がここで間違って何をしているのか?killBackgroundProcessesが機能しない、他の提案はありますか?

public void KillApp() 
    { 
     Context context = getContext(); 
     String maps = "com.google.android.apps.maps"; 
     ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE); 
     activityManager.killBackgroundProcesses(maps); 
    } 

答えて

1

あなた自身のアプリを倒すことができます。それらは同じプロセスで実行されているか、同じユーザーIDで実行されています。デバイスが根付いていない限り、他の人を殺すことはできません。誰もAndroid OS自体を除いてプロセスを殺すことはできません。

Androidマーケットでタスクキラーの大部分は、彼らはちょうどこのメソッドはすぐに

と呼ばれるオペレーティングシステムアクティビティによって呼び出されたとき

public void restartPackage (String packageName) 

を使用することにより、プロセス

を再起動してアプリを殺すことはありません。

savedInstanceステートを解除し、削除するアクティビティの状態を保存します。今、このプロセスは、次回のユーザーはそれが

それが殺された場所から、または他の言葉で始まりますその活動が再開起動時にメモリやOSから削除

はstate.Nowそれを保存しています。誰もそうすることができないので、プロセスを強制終了しないでください。

タスクマネージャから確認できます。この方法もICSで

で動作します。

上記の方法については、こちらをご覧ください。私の知る限り、killBackgroundProcesses(String packageName)はAPI 8以上です。

関連する問題