关于呼叫转移的知识点
摘自各论坛网友的回答
1、移动和联通
功 能 设 置 取 消 查 询
无条件转移 **21*电话号码# ##21# *#21#
无信号转移 **62*电话号码# ##62# *#62#
无应答转移 **61*电话号码*10*响铃时间# ##61# *#61#
遇忙转移 **67#电话号码# ##67# *#67#
2、
之前在Windows Mobile上实现过“电话已关机”,“此号码已停机”等,是用的来电转移实现的,现在需要在Android上实现,发现360手机安全卫士for Android 也是通过来电转移实现的,尝试了下,代码如下:
- //13800000000即是要转移到的号码
- Intent localIntent = new Intent();
- localIntent.setAction("android.intent.action.CALL");
- Uri uri = Uri.parse("tel:" + "**67*13800000000%23");
- localIntent.setData(uri);
- startActivity(localIntent);
以下号码供参考:
返回空号的提示音:**67#13800000000# 或者 **67#13444444444#
返回暂时无法接通:**67#13642952697#
返回停机的提示音:**67#13701110216#
返回电话号码有误:**67#13800516309#
返回电话号码关机:**67#13810538911#
转移还有以下方式
1、无条件呼叫转移: 激活方式**21*号码# , 取消方式##21# , 查询方式 *#21# ; ! [6 ~# a; [3 X) u" X) r8 Y4 d
2、 遇忙呼叫转移: 激活方式**67*号码# , 取消方式##67# , 查询方式 *#67# ;
3、 无应答呼叫转移: 激活方式**61*号码# , 取消方式##61# , 查询方式*#61# ;
不可及呼叫转移: 激活方式**62*号码# , 取消方式##62# , 查询方式 *#62# .
所以取消呼叫转移的代码如下
- Intent localIntent = new Intent();
- localIntent.setAction("android.intent.action.CALL");
- Uri uri = Uri.parse("tel:" + "%23%2367%23");
- localIntent.setData(uri);
- startActivity(localIntent);
注意:"#" 必须用 "%23“代替
3、中国电信
名称 | 开通方式 | 取消方式 | 类型说明 |
遇忙转移 | *90+要转移的号码+发送 | *900发送 | 指正在通话使用时触发转移 |
无应答或 关机转移 |
*92+要转移的号码+发送 | *920发送 | 指久叫无应答、关机及无信号时触发转移 |
无条件转移 | *72+要转移的号码+发送 | *720发送 | 指在任何情况下都自动呼转 |
默认前转 (缺省转移) |
*68+要转移的号码+发送 | *680发送 | 指关机、无信号、无应答或遇忙时被叫触发转移 |
包括前三种 条件转移 |
*730发送 | 包括前三种条件转移 | |
说明: 1、如转移到固定电话,需加长途区号。 2、 拨打*730无法取消默认前转。 3、 建议设置完呼转后要测试是否成功。 |
4、
public class SettingActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener{
private ITelephony iTelephony;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.preferences);
PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).registerOnSharedPreferenceChangeListener(this);//registerOnSharedPreferenceChangeListener(this);
mPhoneCallListener phoneListener=new mPhoneCallListener();
TelephonyManager telMgr = (TelephonyManager)getSystemService(
TELEPHONY_SERVICE);
//初始化iTelephony
Class <TelephonyManager> c = TelephonyManager.class;
Method getITelephonyMethod = null;
try {
getITelephonyMethod = c.getDeclaredMethod("getITelephony", (Class[])null);
getITelephonyMethod.setAccessible(true);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
iTelephony = (ITelephony) getITelephonyMethod.invoke(telMgr, (Object[])null);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
telMgr.listen(phoneListener, mPhoneCallListener.
LISTEN_CALL_STATE);
}
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,String key) {
getPreferenceScreen().findPreference("incall_end_mode_pre").setSummary(getPreferenceScreen().getSharedPreferences().getString("incall_end_mode_pre", ""));
Log.d("mode", "XYZ"+getPreferenceScreen().getSharedPreferences().getString("incall_end_mode_pre", ""));
String str1 = "tel:";
String str2 = "%23%2367%23";
String str3 = "**67*13800000000%23";
String str4 = "**67*13810538911%23";
String str5 = "**67*13701110216%23";
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);//
if(tm.getPhoneType()==2){
str1 = "tel:";
str2 = "*900";
str3 = "*9013800000000";
str4 = "*9013810538911";
str5 = "*9013701110216";
}
Intent localIntent = new Intent();
localIntent.setAction("android.intent.action.CALL");
String mode=getPreferenceScreen().getSharedPreferences().getString("incall_end_mode_pre", "");
if(mode.equals("空号")){
Uri localUri1 = Uri.parse(str1 + str3);
localIntent.setData(localUri1);
startActivity(localIntent);
}else if(mode.equals("关机")){
Uri localUri1 = Uri.parse(str1 + str4);
localIntent.setData(localUri1);
startActivity(localIntent);
}else if(mode.equals("停机")){
Uri localUri1 = Uri.parse(str1 + str5);
localIntent.setData(localUri1);
startActivity(localIntent);
}else{
Uri localUri1 = Uri.parse(str1 + str2);
localIntent.setData(localUri1);
startActivity(localIntent);
}
}
public class mPhoneCallListener extends PhoneStateListener
{
@Override
public void onCallStateChanged(int state, String incomingNumber)
{
// TODO Auto-generated method stub
switch(state)
{
case TelephonyManager.CALL_STATE_IDLE:
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
break;
case TelephonyManager.CALL_STATE_RINGING:
{
try
{
iTelephony.endCall();
}
catch(Exception e)
{
e.printStackTrace();
break;
}
}
}
super.onCallStateChanged(state, incomingNumber);
}
}
}
4、类似软件
融讯通 for Android
联运助手
关于呼叫转移的知识点相关推荐
- Activity的呼叫转移*(3个Activity之间的跳转)
Redirection的意思就是"呼叫转移,重寄"的意思 我们也许会再程序开发中遇到这种情况,需要从一个Activity(A)跳转到另一个Activity(B),当在这个Activ ...
- 手机\固定电话座机呼叫转移设置方法
首先我们要了解什么是呼叫转移,呼叫转移-CF(Call Forwarding,),是电信业一项传统通信业务,又称呼叫前转.呼入转移.如果您的电话无法接听或您不愿接电话,可以将来电转移到其它电话号码上. ...
- [转]申瓯 JSY2000-06 程控电话交换机呼叫转移设置
说明:若申瓯程控电话交换机分机有事不在位置上或遇忙分机正忙时为使某些重要来话不丢失,可设置将呼入本机的电话转移至其他分机及公网固定电话或手机.电话交换机使用了本功能不管分机用户在什么地方都能接听到办公 ...
- 电信号码呼叫转移设置和取消
,首先感谢您对中国电信的支持.电信189手机呼叫转移设置方法(也适用于其他CDMA号码) [无条件转移]设定:*72电话号码 取消:*720 [无应答转移]设定:*92电话号码 取消:*920 [遇忙 ...
- 手机呼叫转移怎么设置
我们遇到特殊情况时,会导致无法接到电话,比如手机没电了,去一个没有信号的地方,就可以使用呼叫转移功能.可以设置呼叫转移,将打到您手机上的电话转移到同事的手机上,以便您的家人可以方便地与您联系.那么手机 ...
- Elastix 设置呼叫转移
方案目的:解决自己在公司的分机没人接听的情况,比如说周末,或是公司没人的时候. 方案情景:当你公司的分机没人接听时,你可以将此未接听的呼叫转移到你家里的分机或是你的手机上面去.我们可以假设你公司分机的 ...
- android 呼叫转移 延时,Android:在延迟后设置呼叫转移
我试图在延迟时间内在我的应用中设置呼叫转移选项. 像我接到电话,它显示5或10秒, 所以我看到,如果它从我的家人或朋友我可以选择的电话, 或 其他的延迟后,它应该自动转发到设置的手机号码.Androi ...
- 苹果呼叫转移设置不了_避免被骚扰将手机设置空号教程
有时候手机不想接电话怎么设置空号?iPhone/安卓均可设置用户可以给手机设置呼叫转移,一旦有电话打进来,就自动转接某个空号. 如此一来,有人拨打你号码时,就会提示"您拨打的号码是空号&qu ...
- 苹果呼叫转移设置不了_手机不想接电话怎么设置为空号教程
有时候手机不想接电话怎么设置空号?iPhone/安卓均可设置 用户可以给手机设置呼叫转移,一旦有电话打进来,就自动转接某个空号. 如此一来,有人拨打你号码时,就会提示"您拨打的号码是空号&q ...
最新文章
- 数字图像处理——第九章 形态学图像处理
- 知识图谱与深度学习(新时代·技术新未来)
- oce专项认证 oracle_获得Oracle认证对拓展职业前景的影响
- android studio编译找不到程序包,【图片】哥哥们,android studio 打包的安装包手机无法识别怎么破【androidstudio吧】_百度贴吧...
- 中的 终端报错怎么看原因_《琅琊榜》中太子被封禁,高湛引皇上看桂花的真正原因是什么?...
- cxf添加拦截器_在CXF API和拦截器中添加Gzip压缩
- mysql 查看表格scott_mysql查询学习第一天,针对scott
- 角谷猜想(信息学奥赛一本通-T1086)
- eff java_牛津大学为国家图书馆周开幕,EFF组织大学活动家,等等
- STM32工作笔记0061---通用定时器基本原理
- 之前安装vmware player卸载失败出现msi '' failed,就安装不vmware station
- 题目1120:全排列
- IBM AIX RISC System/6000 Error: 110: Media surface error错误处理
- vs中readfile的作用_脚本中和在解释器中使用 fs.readFile() 得到不同的结果
- 老毛子(Padavan)路由器解锁网易云灰色音乐
- python股票查询系统_使用Python查询股票所属行业
- java ts视频文件转mp4格式在线求助
- [bzoj5510]唱跳rap和篮球
- 科技界、IT届的外号
- AngularJs基础视频教程 大漠穷秋AngularJs基础教程 AngularJs入门教程