【发布时间】:2014-03-27 07:10:13
【问题描述】:
有没有办法在设备上启动任何 Android 应用程序时进行监听或获得通知?并在设备上启动应用程序时做些什么?
编辑:某事——我的意思是——显示一个警告对话框或类似的东西?
【问题讨论】:
标签: android
有没有办法在设备上启动任何 Android 应用程序时进行监听或获得通知?并在设备上启动应用程序时做些什么?
编辑:某事——我的意思是——显示一个警告对话框或类似的东西?
【问题讨论】:
标签: android
这表示不可能 https://stackoverflow.com/a/8293788/472336
但我认为您可以寻找 Launcher 类型的应用,这些应用可以做到这一点,这是教程
http://arnab.ch/blog/2013/08/how-to-write-custom-launcher-app-in-android/
【讨论】:
没有应用启动事件。 您可以轮询当前的热门活动,并在检测到它已更改时执行操作:
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 非常喜欢杀死服务)。
【讨论】: