我想开发一个 android 应用程序,它可以计算我打开另一个应用程序的次数。说它应该计算我打开 Whatsapp 或可能是 Facebook 的次数。我怎样才能通过另一个android应用程序实现这一点?如何观察android中其他应用程序的 Activity 、行为。
最佳答案
首先
1. 创建数据库(local android SQLite
)
然后
2. 获取设备上所有已安装应用程序的列表。使用 Android Package Manager
和 getInstalledApplications()
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));
}
在您的数据库中保存包名称和启动器 Activity
获取最近启动的应用程序列表并增加您的数据库计数器或您喜欢做的事情
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); }
关于java - 如何计算任何应用程序在我的 android 手机中打开的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41082173/