2
我想編寫一個應用程序,記錄我手機上其他應用程序的使用情況。
因此,例如我得到了我進入Facebook的時間。Android監視器使用應用程序如何工作
我知道每次Facebook啓動時都無法讓廣播接收器喚醒。 另一種方式是讓服務始終在後臺運行,並檢查正在運行的應用程序,並且每秒鐘都進入睡眠狀態,但我想這會讓我的電池更快耗盡。
那麼這可以做到最好的方式是什麼?有什麼我可以看的日誌?
我想編寫一個應用程序,記錄我手機上其他應用程序的使用情況。
因此,例如我得到了我進入Facebook的時間。Android監視器使用應用程序如何工作
我知道每次Facebook啓動時都無法讓廣播接收器喚醒。 另一種方式是讓服務始終在後臺運行,並檢查正在運行的應用程序,並且每秒鐘都進入睡眠狀態,但我想這會讓我的電池更快耗盡。
那麼這可以做到最好的方式是什麼?有什麼我可以看的日誌?
監視其他應用程序的唯一方法是監視前臺活動。這會耗盡你的電池,但其他應用程序啓動時沒有廣播,因此沒有其他方式來執行此操作。你想開始一個計時器任務來檢查當前的前臺活動。我強烈建議不要這樣做。 爲了得到當前的前景活動使用下面的代碼:
ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
Log.d("topActivity", "CURRENT Activity ::"
+ taskInfo.get(0).topActivity.getClassName());
ComponentName componentInfo = taskInfo.get(0).topActivity;
componentInfo.getPackageName();
您將需要以下權限:
<uses-permission android:name="android.permission.GET_TASKS"/>