默认情况下,处于停止状态(甚至无法运行一次)的应用程序无法接收广播。如果将标志添加FLAG_INCLUDE_STOPPED_PACKAGES
到广播意图中,则有一种接收方法。
我的问题是我需要接收系统意图android.intent.action.MEDIA_MOUNTED
(并且我不想在该意图上添加该标志)。
即使在已停止的应用程序中也如何接收?
在我看来,这肯定是有可能的,因为例如com.android.shell
应用程序即使被强制停止也能够接收此类意图。怎么做的?
编辑:
请澄清一下,因为这似乎并不明显:
从Android Open Source Project开发人员的角度来看,这里的一切。我正在修改操作系统源代码,可以预安装要接收广播的应用程序,并使用平台证书对其进行签名,可以使用隐藏的API,等等。一切都被允许,甚至可以对系统进行修改。
将您的应用程序声明为系统应用程序,即使您的应用程序处于“停止状态”,也应允许您接收常规广播。
将以下内容添加到清单中,并确保您的应用程序已由平台密钥签名:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
...
...
android:sharedUserId="android.uid.system">
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句