如何在机器人中阻止呼叫

我想阻止来自少数号码的电话,为此我想写一个我自己的应用程序。 那么我应该使用哪些 API 呢?

基本上,我想得到通知,当一个电话来,我想比较数字,如果它是我想阻止,我想削减呼叫或静音,如果可能的话,静音和记录它。

102529 次浏览

你可以将联系人中的特定号码重定向到语音信箱,这已经得到了支持。

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

这是可能的,您不需要自己编写代码。

如果输入数字等于一个空字符串,就把振荡器音量设置为零,振动为零。

它刚刚通过 Android 市场上的 No}应用程序为您完成,只需要尝试一下..。

天哪! ! ! 是的,我们可以做到! ! ! 经过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);

所有想要开发呼叫控制软件的数百人都访问 这个起点

有一个项目。有重要的意见(和信用)

简要说明: 复制 aidl 文件、添加清单权限、复制粘贴电话管理源代码))

再告诉你一些信息。AT 命令,您只能在植根的情况下才能发送。比你可以杀死系统进程和发送命令,但你将需要一个重新启动,以允许您的电话接收和发送呼叫 =))

我很高兴 =)现在我的 Shake2MuteCall 将得到一个更新!

在 android-N 中,这个特性包含在其中。请检查对 android N 的 屏蔽号码更新

Android N 现在支持平台中的数字阻塞,并提供了一个 框架 API,让服务提供商维护一个阻塞号码列表。 默认的短信应用程序,默认的电话应用程序和提供商应用程序可以阅读 从阻塞号码列表并写入。该列表无法访问 其他应用程序。

优点是:

  1. 被屏蔽的电话号码也会被屏蔽的短信
  2. 阻止的数字可以在重置和设备之间通过 备份和还原功能
  3. 多个应用程序可以使用相同的屏蔽号码列表

有关更多信息,请参见 android.provider.BlockedNumberContract

更新现有项目。

要根据 Android N 平台编译你的应用程序,你需要使用 Java8开发工具包(JDK8),为了使用 Android Studio 2.1的一些工具,你需要安装 Java 8执行期函式库(JRE 8)

打开模块的 建造,分级文件并更新如下值:

android {
compileSdkVersion 'android-N'
buildToolsVersion 24.0.0 rc1
...


defaultConfig {
minSdkVersion 'N'
targetSdkVersion 'N'
...
}
...
}

你可以通过收听电话事件来做到这一点。可以通过将 BroadcastReceiver 设置为 PHONE _ STATE 和 NEW _ OUTgoing _ CALL 来实现。你在那里找到电话号码。

然后,当你决定结束通话,这是有点棘手,因为只有从安卓 P 的保证工作。检查 这里