現在、アプリケーションを終了または一時停止するときにサービスを開始する必要がある Android 用のアプリを作成しています。私は何をすべきか?私のアプリケーションでは、何かをクリックするたびに別のアクティビティに移動するため、それらのアクティビティ内で startservice を onpause にすることはできません。私は何をすべきか?
			
			1847 次
		
4 に答える
            0        
        
		
Activity が表示されなくなると、 が呼び出されますonStop()。ただし、Android OS が内部で処理するため、アプリが破棄されているかどうかはまだわかりません。したがって、アプリが にあるかどうかを確認するには、次の手順を試してくださいbackground。
- を使用して実行中のタスク情報を取得します - ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<RunningTaskInfo> tasks = am.getRunningTasks(1);
- タスク リストが空でない場合は、実行中のタスクがアプリに属しているかどうかを確認します。属している場合は、サービスを開始できる呼び出し元の関数に true を返します。そうでなければ戻る - false- if (!tasks.isEmpty()) { ComponentName topActivity = tasks.get(0).topActivity; if (!topActivity.getPackageName().equals(context.getPackageName())) { return true; }
編集:これは役立つかもしれません: http://developer.android.com/reference/android/app/ActivityManager.html#getRunningAppProcesses
于 2013-03-06T06:13:29.160   に答える
    
    
            0        
        
		
このメソッドをオーバーライドすることで、アプリが onPause か onDestroy かを確認できます
protected void onPause() {
    Log.i("Status", "onPause");
    super.onPause();
}
protected void onDestroy() {
            Log.i("Status", "onDestroy");
    super.onDestroy();
}
于 2013-03-06T06:07:09.890   に答える