如何覆盖默认呼叫屏幕?
答
一般来说,要想知道如何重写任何默认的活动,首先你需要知道可以发射活动的意图structure。
确定意向
- 打开Android监视器(又名logcat的)
- 过滤日志的结构,只显示那些匹配字符串“ActivityManager”
- 启动所需的活动重写。在你的情况下,启动呼叫屏幕
如果活动可以被覆盖,你应该看到“启动...”日志条目,请复制进入,这样你就不会在日志中失去它。在我的设备,此内容是:
START U0 {行动= android.intent.action.CALL DAT =电话:XXXXXXXXXXX FLG = 0x10000000的CMP = com.android.server.telecom/.CallActivity(有演员)}从UID 10088上显示0
此意图是由
- 行为 - 意图动作
- DAT - 意图数据
- CMP - 意图部件
现在你需要检查,如果这个意向可以启动默认的拨号器,而无需指定的组件。
检查是否默认的活动可以覆盖
- 亚行外壳
- 日上午开始-a android.intent.action.CALL -d电话:XXXXXXXXXXX(在数量填写你想测试用)
如果它启动拨号,然后,瞧。您应该能够为您的应用程序create an IntentFilter,适当地设置操作和数据。然后,用户下一次尝试拨打电话时,会询问用户想要使用的应用程序。