ユーザーが通話を開始すると、Android は、通話に使用できるアプリ (Skype など) の選択を提案します。簡単な質問 - 私のアプリがそのリストにどのように表示され、どのように番号を取得できますか?どのユーザーがシステムダイヤラーに入れられましたか?
私は両方の回答で示唆されているすべての問題を解決しましたが、それでも、顧客が電話のダイヤルパッドでコールを押すと、次のように表示されます。
電話をかける: - スカイプ - 電話
リスト内に私のアプリはありません。
編集済み
そのコードの問題が解決され、私のアプリがリストに表示され、同様に開かれました:(間違っていた>シンボル)
<activity
android:name=".PhonePadActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.CALL" />
<data android:scheme="tel" />
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.CALL_PRIVILEGED" />
</intent-filter>
</activity>
問題の 2 番目の部分 - ユーザーが標準のダイヤルパッドでダイヤルした電話番号を取得しますが、まだ解決されていません:
onCreated 内のそのコード:
Intent intent = getIntent();
String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Toast.makeText(this, "Call was made to-->>" + number, 5000).show();
null を返します。
第 2 版
前回、Google から CALL_PRIVILEGED を制限しているという通知を受け取りました (bcs は緊急通報をサポートしていません)。CALL_PRIVILEGED がなければ、私のアプリは再びリストに含まれません。そのことに対する新しい解決策を知っている人はいますか?私は現在、その問題に関してGoogleのサポートと話し合っています.今のところ、成功していない繰り返しがあります.