我正在制作一款可防止用户拨打某些联系人的应用。我在数据库中有联系人,但我不知道在那之后去哪里。我知道我必须在清单中使用广播接收器和许可,但除此之外我已经卡住了。
答案 0 :(得分:5)
这解释了如何执行此操作:http://groups.google.com/group/android-developers/browse_thread/thread/931e04811839326e
要点是你需要使用BroadcastReciever
来拦截NEW_OUTGOING_CALL
意图,但要确保将意图过滤器的优先级设置为-1。要中止出站呼叫,您需要在从setResultData(null);
返回之前调用BroadcastReceiver.onReceive(Context, Intent)
(这会阻止意图的下游处理程序处理出站呼叫)。
答案 1 :(得分:0)
好吧,如果设备进入“飞行模式”,那么显然电话服务将无法运行。 进入BroadcastReceiver后,您将收到NEW_OUTGOING_CALL意图,让您的设备进入“飞行模式”。 有一个Intent可以做到这一点,当然你的应用程序也需要有必要的权限才能将设备模式更改为飞行模式。 “块”操作完成后,应用程序还需要将设备恢复到工作模式。