如何在android中阻止调用

Anu*_*yal 69 android phone-call callblocking incoming-call

我想阻止几个号码的来电,因为我想写一个我自己的应用程序.那么我应该使用哪些API?

基本上我想在通话时收到通知,我想比较数字,如果它是我想阻止的,我想要切断电话或将其静音,或者如果可能的话将其静音并记录下来.

小智 64

我的天啊!!!是的,我们可以做到!经过严格的24小时调查和发现后,我要自杀了......但我找到了"新鲜"的解决方案!

// "cheat" with Java reflection to gain access to TelephonyManager's
// ITelephony getter
Class c = Class.forName(tm.getClass().getName());
Method m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
telephonyService = (ITelephony)m.invoke(tm);
Run Code Online (Sandbox Code Playgroud)

所有数百名想要开发其呼叫控制软件的人都参观了这个起点

有一个项目.并且有重要的评论(和学分)

简要地说:复制aidl文件,添加清单权限,复制粘贴源以进行电话管理)))

更多信息给你.AT命令只有在你扎根的情况下才能发送.比你可以杀死系统进程和发送命令,但你需要重新启动,让你的手机接收和发送电话=)))

我非常讨厌=)现在我的Shake2MuteCall会得到更新!

  • 即使这样有效,对我来说似乎有点风险.无论何时内部API发生变化,您的应用程序都可能会被破坏 (6认同)
  • 这是因为谷歌代码已被关闭.究竟为什么人们在这里警告链接腐烂.发布与帖子相关的任何内容.您可能认为Google是您可以信赖的永远保持的一个来源,但正如您所看到的,即使他们的链接也会被破坏. (4认同)

小智 5

这是可能的,您不需要自己编码.

如果incomingNumber等于空字符串,只需将振铃器音量设置为零并将振动设置为无.而已 ...

它刚刚为您完成了Android Market的Nostalk应用程序.试一试......

  • 问题不是关于任何这样的应用程序,它是如何以编程方式阻止传入的数字+在您的解决方案中我将如何知道数字是多少? (7认同)
  • 这并不难...如果您查看 SDK 参考,您会发现有一个 onCallStateChangeListener() 必须在您的应用程序中注册。完成后,它将向您提供 callState,可以是 IDLE、RINGING 或 OFF_HOOK 之一。除此之外,侦听器还会向您传递传入号码...这就是您的操作到位的点。不幸的是,SDK 不会真正为您提供挂断呼叫的选项,这些功能不是公开可用的,它们以某种方式隐藏,无法访问它们。 (2认同)

Cog*_*gsy 3

您只需将联系人中的特定号码重定向到语音邮件即可。这已经支持了。

否则我想“联系人”的文档将是一个开始查找的好地方。