Rol*_*no1 6 android intentfilter android-manifest android-intent
我正在设计一个自定义呼叫屏幕,以在电话交谈期间在屏幕上显示信息,例如呼叫者的地址簿信息.我的应用程序将在用户通过使用a按下呼叫按钮时开始Intent Filter,之后我将从地址簿中获取其他信息并将其添加到屏幕.
我的问题是,当按下呼叫按钮时,我activity没有启动.我的意图过滤器对吗?是否有可能拦截电话Intent?请分享您处理电话会议的知识.
我Intent Filter的如下所示.
<activity android:name=".MyCallingScreen">
<intent-filter android:priority="100">
<action android:name="android.intent.action.CALL_BUTTON" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="tel" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
在您的情况下,请尝试按以下方式更改代码:
<intent-filter android:priority="100">
<action android:name="android.intent.action.CALL_BUTTON" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
如果按下通话按钮,这对我来说很有效。
尝试使用以下代码来拦截调用:
<activity>
<intent-filter>
<action android:name="android.intent.action.CALL_PRIVILEGED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
对于 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>
Run Code Online (Sandbox Code Playgroud)
当您通过以下方式从电话簿拨打电话时,会调用带有操作android.intent.action.CALL_PRIVILEGED的意图:电话簿->联系人->电话号码长按->从下拉菜单中选择拨打电话。
| 归档时间: |
|
| 查看次数: |
2865 次 |
| 最近记录: |