[英]How to count number of times any application opened in my android mobile?
我想開發一個 android 應用程序,它計算我打開另一個應用程序的次數。 說它應該計算我打開 Whatsapp 或 Facebook 的次數。 如何通過另一個 android 應用程序實現這一目標? 如何在android中觀察其他應用程序的活動、行為。
首先 1. 創建一個 db ( local android SQLite
)
然后 2. 獲取設備上所有已安裝應用程序的列表。通過getInstalledApplications()
使用Android Package Manager
PackageManager pm = getPackageManager();
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo packageInfo : packages) {
Log.d("Installed Apps", "Installed package :" + packageInfo.packageName + " Launch Activity :" + pm.getLaunchIntentForPackage(packageInfo.packageName));
}
在您的數據庫中保存包名稱和啟動器活動
獲取最近啟動的應用程序列表並增加數據庫的計數器或您喜歡做的事情
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RecentTaskInfo> recentTasks = activityManager.getRecentTasks(Integer.MAX_VALUE,ActivityManager.RECENT_WITH_EXCLUDED); for (int i = 0; i < recentTasks.size(); i++) { String LocalApp = recentTasks.get(i).baseIntent.toString(); int indexPackageNameBegin = LocalApp.indexOf("cmp=")+4; int indexPackageNameEnd = LocalApp.indexOf("/", indexPackageNameBegin); String pckge = LocalApp.substring(indexPackageNameBegin, indexPackageNameEnd); Log.d("Executed app", "Application executed : " +pckge); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.