gpt4 book ai didi

java - 从 BroadCastReceiver 启动应用程序(NEW_OUTGOING_CALL 并不总是有效)

转载 作者:行者123 更新时间:2023-11-29 05:42:00 24 4
gpt4 key购买 nike

好吧,我编写了一个应用程序,它首先调用一个特定的号码,我使用 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}

然后广播接收器在模拟器上注册,看起来我的应用程序需要启动才能注册广播接收器

最佳答案

我在 android 文档中找不到任何内容,但在不同设备上花费数小时测试此案例后,我发现广播接收器仅在应用程序执行后才注册。因此显然必须在安装后启动一项 Activity ,然后一切正常。

关于java - 从 BroadCastReceiver 启动应用程序(NEW_OUTGOING_CALL 并不总是有效),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17122085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com