在应用程序启动android之前做一些事情(提示)或其他事情

在应用程序启动android之前做一些事情(提示)或其他事情,android,Android,当设备上启动任何android应用程序时,是否有办法收听或获得通知?在设备上启动应用程序时做些什么 编辑:我的意思是显示一个警报对话框或类似的东西?这说明这是不可能的 但我认为你可以寻找Launcher类的应用这些应用可以做到这一点这里是教程 没有应用程序启动事件。 但您可以轮询当前最热门的活动,并在检测到它已更改时执行操作: ActivityManager sysActivitySvc = (ActivityManager) this.getSystemService(ACTIVITY_SE

当设备上启动任何android应用程序时,是否有办法收听或获得通知?在设备上启动应用程序时做些什么


编辑:我的意思是显示一个警报对话框或类似的东西?

这说明这是不可能的

但我认为你可以寻找Launcher类的应用这些应用可以做到这一点这里是教程


没有应用程序启动事件。 但您可以轮询当前最热门的活动,并在检测到它已更改时执行操作:

ActivityManager sysActivitySvc = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
String topActivity = sysActivitySvc.getRunningTasks(1).get(0).topActivity.getPackageName();
if(!topActivity.equals(lastTopActivity))
{
  lastTopActivity = topActivity;
  //Do your stuff here
}
请注意,轮询可能会影响电池的使用。不要每秒对顶级活动进行超过一次或两次的投票。
此外,您还需要注意您的服务是否保持活动状态(Android非常喜欢终止服务)。

谢谢,伙计。。这就是我害怕的。我知道如何在设备上自定义启动任何应用程序,并知道如何让应用程序在后台运行。我想的是一种直接的方法,可以在应用程序启动时获得通知,然后在那里显示警报?感谢velis的帮助,我能执行自己的自定义操作吗?例如警报,即使我在后台保持服务活动,并发现顶级活动有变化?是的,如果您愿意,服务可以显示祝酒词或启动自定义活动/应用程序。谢谢,我接受您的回答,因为没有其他适当的事件,这是一个快速解决方法。谢谢你的帮助。谢谢