在我的应用程序中,有一项功能允许用户拨打特定号码并在前面启动活动。我有以下接收器,以及在AndroidManifest.xml中注册的 only 接收器。
<receiver android:name="com.example.myapp.OutgoingCallListener" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
请注意,没有BOOT_COMPLETED intent
或service
。
现在这是我无法弄清楚的事情。当我重新启动设备时,请检查Running Apps
,我的应用程序未列在那里。但是,如果我拨打特定号码,我的应用程序就会启动,活动就会被带到前面。
我的问题是:如果该应用不是服务,并且没有在启动时启动,它怎么能收到Android的意图?也就是说,在我的情况下,我的应用程序怎么可能在NEW_OUTGOING_CALL
没有开始的时候听取它?
答案 0 :(得分:3)
在清单中注册的BroadcastReceiver
始终能够响应匹配的广播。如果您的流程因任何原因未运行,Android将为您启动流程。