押されたときにインテントでstartActivity
メソッドを使用するボタンを持つアプリケーションがあります。ACTION_CALL
これはその呼び出し方です:
public void call(String number)
{
Intent myIntent = new Intent(Intent.ACTION_CALL);
myIntent.setData(Uri.parse("tel:" + number);
startActivity(myIntent);
}
許可を得てダイヤラーアプリを作成しました:
<uses-permission android:name="android.permission.CALL_PHONE" />
そして、私のマニフェストは次のようになります。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.DIAL" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tel" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.CALL_BUTTON" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
私が見た他のすべての質問は、この正確な宣言をマニフェストで行うことを示唆しています。
確認したところ、電話に付属の Google ダイヤラー アプリにはデフォルト設定がありません。
では、その意図をキャッチするダイヤラとしてアプリケーションを選択するオプションを含むポップアップ ダイアログが表示されないのはなぜでしょうか?