5

「...を使用してアクションを完了する」ダイアログを使用して、アプリケーションを電話のハンドラーとして登録したいと思います。マニフェストで次の構文を使用すると、機能することがわかりました。

   <activity android:name="my.class">
       <intent-filter>
          <action android:name="android.intent.action.CALL_PRIVILEGED" />
          <category android:name="android.intent.category.DEFAULT" />
          <data android:scheme="tel" />
       </intent-filter>
   </activity>

しかし、ブロードキャストレシーバーとして登録すると、アプリが[...を使用してアクションを完了する]ダイアログに表示されません。

   <receiver android:name="my.class">
       <intent-filter>
          <action android:name="android.intent.action.CALL_PRIVILEGED" />
          <category android:name="android.intent.category.DEFAULT" />
          <data android:scheme="tel" />
       </intent-filter>
   </receiver>

インテントがフィルターに一致すると呼び出されるクラスのタイプを除いて、2つの違いは何ですか?

4

1 に答える 1

6

違いは明らかです。最初のものはを起動しようとしActivity、2番目のものはを実行しBroadcastReceiverます。何を使用するかは、何を達成したいかによって異なります。BroadcastReceiverイベントをキャッチしたいが、ユーザーには何も表示したくない場合に使用します。

于 2012-06-02T01:49:25.530 に答える