2016-05-23 6 views

答えて

0

フォアグラウンドのアプリケーションを監視することもできます。たとえば、アプリケーションリストをチェックして状態を確認するスケジュールサービスを作成できます。

ActivityManager mgr = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
List<ActivityManager.RunningTaskInfo> allTasks = mgr.getRunningTasks(showLimit); 
/* each all applications */ 
for (ActivityManager.RunningTaskInfo aTask : allTasks) 
{     
    Log.i("MyApp", "Task: " + aTask.baseActivity.getClassName()); 

} 

RunningTaskInfoオブジェクトについては、documentation hereが見つかります。

を持つpossibile監視サービスです:

ActivityManager mgr = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
List<ActivityManager.RunningServiceInfo> allTasks = mgr.getRunningServices(showLimit); 
/* each all service */ 
for (ActivityManager.RunningServiceInfo aTask : allTasks) 
{ 
    Log.i("MyApp", "Task: " + aTask.activeSince); 

} 
+0

しかし、それだけの時間を実行している続かないサービス名を実行して返します。.. –

+0

アプリケーションの実行時間をチェックするための具体的な方法はありません、とのpossibileですサービス(以上を参照)。あなたのロジックを作成する可能性があります。カスタムアプリケーションは開いているアプリケーションをチェックするたびにX秒ごとに起動しますが、正確ではありません。 – mcatta

+0

私は非常に正確な値(2番目まで)は興味がありません。分/時間がかかります。とにかく、すべてをチェックするカスタムサービスでそれを行うと、3分と言えば、それは電話の使用速度で目立つでしょうか?また、愚かなことを尋ねると申し訳ありませんが、これは初めてのAndroidアプリです。 –

関連する問題