我想阻止来自几个号码的呼叫,因为我想编写自己的应用程序。那么我应该使用哪些 API?
基本上我想在来电时得到通知,我想比较号码是否是我想要阻止的,我想切断呼叫或将其静音,或者如果可能的话将其静音并记录它。
我想阻止来自几个号码的呼叫,因为我想编写自己的应用程序。那么我应该使用哪些 API?
基本上我想在来电时得到通知,我想比较号码是否是我想要阻止的,我想切断呼叫或将其静音,或者如果可能的话将其静音并记录它。
我的天啊!!!是的,我们可以这样做!!!经过 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 命令只有在您有 root 权限时才能发送。您可以杀死系统进程并发送命令,但您需要重新启动才能让您的手机接收和发送呼叫 =)))
我很高兴 =) 现在我的 Shake2MuteCall 将得到更新!
这是可能的,您不需要自己编写代码。
如果incomingNumber 等于一个空字符串,只需将铃声音量设置为零,振动设置为无。而已 ...
它刚刚使用来自 Android Market 的应用程序 Nostalk 为您完成。试一试...
在android-N中,这个特性就包含在其中了。检查android N的号码阻塞更新
Android N 现在支持平台中的号码屏蔽,并提供框架 API 让服务提供商维护屏蔽号码列表。默认 SMS 应用程序、默认电话应用程序和提供商应用程序可以读取和写入阻止号码列表。其他应用程序无法访问该列表。
的优点是:
有关详细信息,请参阅android.provider.BlockedNumberContract
更新现有项目。
要针对Android N 平台编译您的应用程序,您需要使用Java 8 开发工具包 (JDK 8),并且为了在Android Studio 2.1中使用某些工具,您需要安装Java 8 运行时环境 (JRE 8)。
打开模块的build.gradle文件并按如下方式更新值:
android {
compileSdkVersion 'android-N'
buildToolsVersion 24.0.0 rc1
...
defaultConfig {
minSdkVersion 'N'
targetSdkVersion 'N'
...
}
...
}
您可以将联系人中的特定号码重新定向到您的语音邮件。这已经被支持了。
否则,我想“联系人”的文档将是一个开始寻找的好地方。
您可以通过收听电话事件来做到这一点。您可以通过将 BroadcastReceiver 连接到 PHONE_STATE 和 NEW_OUTGOING_CALL 来实现。你在那里找到电话号码。
然后,当您决定结束通话时,这有点棘手,因为只有 Android P 才能保证它可以工作。在这里检查。