Android如何知道某个应用已启动,并根据启动时间确定应用优先级
在Android中,人们如何知道某个应用已启动。我想检测启动时安装的所有应用,并根据其使用时间确定应用的优先级。有解决方案建议这样做吗?
我知道使用广播,但是启动应用程序后,ActivityManager是否会发送一些Intent,以及如何在代码中检测到此Intent?也欢迎任何其他解决方案。
回答:
:
如果您知道应用程序的程序包名称,请尝试以下操作( 将以下代码片段放入应用程序的onCreate方法中 ):
ActivityManager am= (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
然后,
boolean exit = false; while(!exit)
{
List<RunningTaskInfo> taskInfo = am.getRunningTasks(1);
ComponentName componentInfo = taskInfo.get(0).topActivity;
if(componentInfo.getPackageName().equals("Your package name"))
{
//Do your work here
exit = true;
}
}
当您启动应用程序时,它将被放入 。该
将在前台返回的活动。因此,您可以通过使用第二个代码段比较程序包来知道您的应用已启动。
:将第二个代码段放入 Asynctask中, 以便可以在 后台 检查应用程序是否已启动。
为了获得优先级,我认为您可以通过检查列表 来实现,该列表将包含所有正在运行的应用程序。
以上是 Android如何知道某个应用已启动,并根据启动时间确定应用优先级 的全部内容, 来源链接: utcz.com/qa/415623.html