Java 如何计算在我的android手机上打开任何应用程序的次数?
我想开发一个android应用程序,它计算我打开另一个应用程序的次数。说它应该算上我打开Whatsapp或Facebook的次数。如何通过另一个android应用程序实现这一点?如何观察android中其他应用程序的活动和行为 首先 1.创建数据库(Java 如何计算在我的android手机上打开任何应用程序的次数?,java,android,Java,Android,我想开发一个android应用程序,它计算我打开另一个应用程序的次数。说它应该算上我打开Whatsapp或Facebook的次数。如何通过另一个android应用程序实现这一点?如何观察android中其他应用程序的活动和行为 首先 1.创建数据库(本地android SQLite) 然后 2.获取设备上所有已安装应用程序的列表。使用Android软件包管理器和getInstalledApplications() PackageManager pm=getPackageManager(); Li
本地android SQLite
)
然后
2.获取设备上所有已安装应用程序的列表。使用Android软件包管理器和getInstalledApplications()
PackageManager pm=getPackageManager();
List packages=pm.getinstalledApplication(PackageManager.GET_元数据);
对于(ApplicationInfo packageInfo:packages){
Log.d(“已安装的应用程序”,“已安装的包:“+packageInfo.packageName+”启动活动:“+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);
}
ActivityManager ActivityManager=(ActivityManager)getSystemService(Context.ACTIVITY_服务);
List recentTasks=activityManager.getRecentTasks(Integer.MAX_值,activityManager.RECENT_,不包括_);
对于(int i=0;i
首先
1.创建数据库(本地android SQLite
)
然后
2.获取设备上所有已安装应用程序的列表。使用Android软件包管理器和getInstalledApplications()
PackageManager pm=getPackageManager();
List packages=pm.getinstalledApplication(PackageManager.GET_元数据);
对于(ApplicationInfo packageInfo:packages){
Log.d(“已安装的应用程序”,“已安装的包:“+packageInfo.packageName+”启动活动:“+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);
}
ActivityManager ActivityManager=(ActivityManager)getSystemService(Context.ACTIVITY_服务);
List recentTasks=activityManager.getRecentTasks(Integer.MAX_值,activityManager.RECENT_,不包括_);
对于(int i=0;i
使用SharedReference计算应用程序的数量。您不能设置侦听器来检查,但是您可以检查应用程序是否打开,以便获取已安装应用程序的列表,然后您可以尝试以下操作:如果您检测到某个应用程序,您将知道该用户以前启动过该应用程序,您可以在数据库中增加一个值使用SharedReference计算应用程序的数量。您不能设置侦听器来检查,但是,您可以检查某个应用程序是否已打开,以便获取已安装应用程序的列表,然后可以尝试以下操作:如果您检测到某个应用程序,您将知道用户过去启动过该应用程序,并且您可以在数据库中增加一个值