是否有办法创建一个BroadcastReceiver,可以在用户进入应用程序信息活动(设置>应用程序管理>选择一个应用程序)时被触发?如果是这样,我们会知道哪个应用的信息显示出来吗?
谢谢,hmlaken
当用户打开一个特定的活动时,没有广播被触发。
如果你想知道用户当前正在进行的活动,你可以尝试定期检查活动堆栈,以了解用户当前正在查看哪个活动。
while(true) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> runTaskInfo = am.getRunningTasks(1);
String pkg = runTaskInfo.get(0).topActivity.getPackageName();
String activity = runTaskInfo.get(0).topActivity.getClassName();
String tmp = pkg + " : " + activity;
Thread.sleep(1000);
}
在线程中运行这个,它将每1秒唤醒一次,并给你当前在屏幕上的活动。将它与您正在寻找的活动进行比较,以了解用户何时调用它
不,没有Intent
广播。
(为什么你想要这个信息?)
如果你想知道用户何时删除了你的应用:听PACKAGE_REMOVED intent