导航:首页 > 编程语言 > 移动呼叫转移停机代码

移动呼叫转移停机代码

发布时间:2023-09-14 15:41:16

❶ 怎样通过代码实现呼叫转移

原理剖析:
1 这个问题以前困扰了我很久,前天在地铁上突发奇想,猛然醒悟,回家测试,ok
2 短信防火墙利用短信广播接收者,过滤短信,终止黑名单发来的短信广播即可,较为简单,不说了
3 电话防火墙比较复杂,我当初本来已经实现了,可是老想着再完美一点,搞来搞去,总是实现不了,后来才知道,原来360做得也并不是完美的。他们是用了
a 在android1.0后,google很执着的关闭了终止电话的endcall的api,但是实际上这个方法仍然在电话服务里面存在着,所以,我们可以利用java的反射原理将其获取出来。电话服务是另外一个进程,所以我们需要用到aidl不同进程的通信
b endcall方法获得后,在onCallStateChanged(别跟我说你不知道这个是什么)方法对来电状态进行监听,如果发现时黑名单号码,先静音,然后调用endcall方法终止
c 执行endcall方法后,默认是提示忙音的,如果你想要提示别的,可以通过来电转移来实现。你可以激发其它的意图,比如移动号程序控制拨打**67#电话号码#等进行呼叫转移,你故意转移到一个停机的好,黑名单的拨打着将听到停机的提示音,你转移到关机的好,人家也会听到关机的提示音,我当初就是在这里想叉了,shit,浪费了好多天,一直在纠结
d 如果你不能执行呼叫转移,那应该是你的运营商不支持,你打客服问问怎么执行呼叫转移,反正我有移动和电信的手机,都是没问题的
e 有些机器不给力,你并不一定能获取到来电手机号,比如如果你是华为的什么c8500或c8600,那么我可以告诉你,太不给力了,十之八九你获取不到来电手机(短信可以),我的一个三星i5700获取是没问题的,如果你试验不成功,建议你先system.out一下你是否是获取到了手机号了
公司完成的东西,不方便公开代码,重点代码我贴出来
反射的代码:

Method method = Class.forName("android.os.ServiceManager").getMethod("getService", String.class);

IBinder binder = (IBinder)method.invoke(null, new Object[]{TELEPHONY_SERVICE});

ITelephony telephony = ITelephony.Stub.asInterface(binder);

telephony.endCall();
复制代码呼叫转移设置的代码:

String str1 = "tel:";

String str2 = "**67*13810538911%23";//拨打这个手机将产生空号 移动的做法

//其实就是设置需要转移的代码

Intent localIntent = new Intent();

localIntent.setAction("android.intent.action.CALL");

System.out.println("start new Intent first...");

Uri localUri = Uri.parse(str1 + str2);

localIntent.setData(localUri);

startActivity(localIntent);

System.out.println("start new Intent end...");
复制代码静音的,记住静音在黑名单电话响起时,恢复在挂断电话后,记得恢复

AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

if (audioManager != null) {

audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);

audioManager.getStreamVolume(AudioManager.STREAM_RING);

}

阅读全文

与移动呼叫转移停机代码相关的资料

热点内容
win10勒索文件保护设置 浏览:842
arcgissde93安装教程 浏览:487
xml文件注释快捷键 浏览:878
extjs的配置文件怎么配置重定向 浏览:740
access数据库查看aspx 浏览:154
数控编程如何减少时间 浏览:779
苹果FLAC属性 浏览:642
硬盘评分工具 浏览:734
为什么e福州app登不上 浏览:963
jsfoutputlink 浏览:472
哪个网站可以听南音 浏览:264
苹果装系统装win7驱动 浏览:686
php判断file是否有文件 浏览:979
和平精英使用什么编程开发 浏览:102
f3文件 浏览:523
快手3d环绕音乐用什么app 浏览:376
linux新增一个文件 浏览:440
消失的手机图片在哪个文件夹里 浏览:610
word2010表格外框双线内框单线 浏览:56
powermill如何提高编程速度 浏览:465

友情链接