在致电联系时有意图启动应用程序

时间:2017-08-09 16:05:47

标签: android android-intent

按联系人应用程序中的通话按钮时,我想启动自己的应用程序来拨打电话。我发现这样做的唯一方法是使用一个侦听NEW_OUTGOING_CALL广播的接收器。但这很丑陋,意味着所有呼叫都通过我的接收器进行路由。

目前我已经在DIAL,CALL和CALL_BUTTON意图上注册了多个intent-filters,但没有一个......我正在使用Android 7测试三星Galaxy S7。

2 个答案:

答案 0 :(得分:0)

我认为使用广播接收器实际上是推荐的方式。实际上无法更改调用应用程序;这几乎与操作系统有关。即使使用root设备,也会遇到问题。

答案 1 :(得分:0)

正如你写的那样:When pressing the call button in the contacts app, I want to launch my own app. . . .然后But this is ugly and means that all calls are routed through my receiver,两个部分形成鲜明对比。 最好的方式(我认为唯一的一个,因为联系应用程序不是“你的”,它属于操作系统),就像你做的那样,带有接收器。 我可以向您推荐的是在onReceive方法中添加自定义过滤器(以编程方式),并询问它何时醒来询问联系人是否是请求的,然后通过Intent打开您的应用。