好吧,我编写了一个从拨打特定号码开始的应用程序,我使用NEW_OUTGOING_CALL(广播接收器)来捕获拨号事件。到目前为止,我的 AndroidManifest.xml 上的广播接收器类似于以下代码:
<receiver android:name=".CustomBroadCastReceiver">
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
问题是当我在一个新系统上尝试它时,它一开始不起作用,但经过几次测试后,它开始起作用了。我检查了 android 日志,认为它甚至没有注册为广播接收器。我在 Android 参考中找不到这种行为的原因,并且想知道是否有人遇到同样的问题并找到了解决方案,
请考虑这个广播接收器应该是我的应用程序的启动触发器
我也读过一些关于停止包的东西,我想知道它是否与我的情况有关,如果是的话,有没有办法在 AndroidManifest.xml 上设置诸如 FLAG_INCLUDE_STOPPED_PACKAGES 之类的标志
======已编辑======
在我第一次在adb shell上调用以下命令之后
am broadcast -n com.package.name/.StartApp
此行出现在模拟器的日志中
06-15 11:17:53.216: INFO/ActivityManager(74): Start proc com.package.name for broadcast com.package.name/.StartApp: pid=2153 uid=10041 gids={3003}
然后广播接收器在模拟器上注册,看起来我的应用程序需要启动才能注册广播接收器