2

私のアプリケーションには、ユーザーが特定の番号にダイヤルしてアクティビティを前面に表示できる機能があります。私は次のレシーバーを持っており、AndroidManifest.xmlに登録されている唯一のレシーバーです。

<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まったく起動していないときに、どのようにアプリをリッスンできますか?

4

1 に答える 1

3

マニフェストに登録されているABroadcastReceiverは、一致するブロードキャストに常に応答できます。何らかの理由でプロセスが実行されていない場合、Androidがプロセスを開始します。

于 2013-01-23T15:57:41.167 に答える