您好我正在使用android.Firstly我不熟悉广播接收器。我需要创建一个应用程序,如果有人安装我的应用程序,将运行广播接收器,检查安装状态,如ACTION_PACKAGE_INSTALL和android.intent.action.PACKAGE_REMOVED 。但即使我的应用程序关闭,我怎样才能获得这些状态?广播接收器有可能吗?请帮助我,提前谢谢:)
答案 0 :(得分:0)
BroadcastReceiver
也可以接收广播。
这可以通过声明receiver within your application's Manifest.xml file 来完成
当您在清单文件中声明接收器时 - 如果系统设置了适当的意图过滤器,响应已发送的广播(在您的情况下为ACTION_PACKAGE_INSTALL和PACKAGE_REMOVED操作),系统将唤醒您的应用程序并调用您的接收器..)
但不幸的是,对你来说也有坏消息:
来自Android ICS及以上版本的- 在用户至少一次明确启动应用程序之前,您无法接收任何广播!
这是由于安全原因谷歌认为是必要的,以防止恶意应用程序使员工完全透明,而用户甚至根本不启动它们。
所以答案基本上是 - 不!在至少启动一次之前,您无法执行任何代码并从应用中接收任何事件。
顺便说一下 - 你不会收到你自己安装或卸载的应用程序的ACTION_PACKAGE_INSTALL和PACKAGE_REMOVED广播。再次阅读你的问题,说实话,我不确定你期望发生什么: 如果它没有被取消,那么“检查你的应用程序的安装状态”是没有任何意义的。毕竟 - 如果它已卸载 - 那么它无论如何都无法运行(并执行任何代码)。