HTCセンスのAction_Callの意図を傍受します
-
29-10-2019 - |
質問
キャッチするアクティビティがあります ACTION_CALL
意図経由 intent-filter
正常に動作するアプリ経由でルーティングします Nexus One、Moto Blur、およびSamsungデバイス. 。しかし、オンではありません HTCセンス。 :(
Intent.ACTION_CALL_BUTTON
時が呼ばれます HTCセンス ボタンが押されますが、ダイヤルしたとき ACTION_CALL
ログ出力が表示されていません android.intent.action.CALL
送信されます。
06-17 12:22:45.173: INFO/ActivityManager(83): Starting activity: Intent {
act=android.intent.action.CALL dat=tel:00390642200001 flg=0x10000000
cmp=com.android.phone/.InCallScreen (has extras) }
これは、HTCが独自のセンスダイヤラーを入れており、面白いことをしているからだと思います(意図的なフィルターの優先順位があるのでしょうか?)。
Updated1:Max Int値に優先度を設定しようとしましたが、変更はありませんでした。
<intent-filter android:priority="2147483647">
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.CALL" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
解決
あなたは驚くかもしれませんが、あなたは正しいです。私はHTC Desireに関するこのトピックに関する非常に多くの実験を行ってきましたが、HTCがパッケージマネージャーに何らかの変更を加えたか、それをめぐるWRAPERを追加したことがわかりました。彼らは、ダイヤル用ではなく、コールアクションに対してのみこれを行います。これを見つけるために、私は次のようにいくつかの実験をしました。
1.アクションダイヤルに登録されたアプリケーションを作成しました。したがって、__action_dial__意図アクティビティへの呼び出しがあるときはいつでも、HTCはダイヤル用の2つのオプションを表示し、その他は鉱山アクティビティです。ダイヤルをテストする別の方法は、HTC電話で履歴を呼び出して、電話番号を選択するか、連絡先**を選択する前に**編集*を選択します。これにより、1つを選択する2つのオプションも表示されます。
2.プログラムでコール機能を無効にするため、呼び出す他のすべての方法は、HTCのUIとの相互作用によって行われます。だから私はプログラムで電話する別の方法を見つけました、そしてそれは使用されています u003Caction android:name="android.intent.action.CALL_PRIVILEGED" /> マニフェストファイルで。しかし、今回は彼らの変更により、私はコールアクションを直接処理することができませんが、コールを処理する別の方法は、Androidが探しているときです Action_call_priviledeged. 。そして幸いなことに、私はそれを見つけました。行くだけです 人々 -> 連絡先を表示します. 。次に、呼び出すオプションが表示されます。 HTCの欲望にはあります モバイルに電話してください. 。そのため、そのオプションを押し続けます。bamm ..今回はHTCに、呼び出す1つのオプションを選択するオプションが表示されます。 1つは独自のものであり、もう1つは、もちろん私自身です。
最終的な結論では、Callを処理できませんが、場合によってはCall_Privilegedのみです。使用するために Skype HTCのアプリケーションと行きます 人々 -> 連絡先を表示します そして、押し続けます モバイル/ホームに電話してください 次に、コール用のハンドラーを選択するダイアログも表示されます。
他のヒント
それはあなたのために働くべきです
<activity>
<intent-filter>
<action android:name="android.intent.action.CALL_PRIVILEGED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/phone" />
<data android:mimeType="vnd.android.cursor.item/phone_v2" />
<data android:mimeType="vnd.android.cursor.item/person" />
</intent-filter>
</activity>