連絡先のリストから連絡先を選択するためのインテントフィルタを作成しようとしています(純粋な教育目的のために...私はインテントについて学んでいます)。暗黙のインテントでstartActivityを呼び出した後、アンドロイドは自分のカスタムアクティビティとデフォルトのアクティビティを候補アクティビティとして見つけ、使用したいアクティビティ(インテントの解決)を選択させます。Androidのインテントフィルタの問題
しかし、私の現在の設定では、アンドロイドのデフォルトの連絡先選択ツールが開きます。ここに私のインテントフィルターがあります。
<activity android:name=".ContactPicker" android:label="PICKER" >
<intent-filter>
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="content" android:host="com.android.contacts" android:path="contacts" />
</intent-filter>
</activity>
、ここで私が主な活動上の暗黙の意思を呼び出す午前方法です:
Intent intent = new Intent(Intent.ACTION_PICK, Uri.parse("content://com.android.contacts/contacts"));
startActivityForResult(intent, PICK_CONTACT);
あなたがACTION_CHOOSERここに文書化され、HTTPを使用する必要があります://開発者を。 android.com/reference/android/content/Intent.html#ACTION_CHOOSER - 申し訳ありませんが、自分で使用する方法はわかりませんが、例としてGoogle検索を試してみてください。 – Squonk
@MisterSquonk:これは、ユーザーがこの「Intent」のデフォルトハンドラを選択した場合に必要です。ビルトインの連絡先アプリはデフォルトであることが事前に決定されていると考えられますが、私がオーバーライドしようとした他の「インテント」(例えば、代替のホーム画面)。 – CommonsWare