【问题标题】:Call forwarding呼叫转移
【发布时间】:2010-08-12 07:52:02
【问题描述】:

我想将所有呼叫我号码的呼叫转接到新的预定义号码 自动地。是否可以转接来电?

至少对于 Froyo 来说可能是可能的。我找到了名为 Easy Call Forwarding 的应用程序。 http://www.appstorehq.com/easycallforwarding-android-189596/app 但很多人认为它实际上不起作用。

我们可以注意到onCallForwardingIndicatorChanged() 来自PhoneStateListener 的转接电话,但是 我不知道如何设置转发模式。

【问题讨论】:

  • Mr Bogus:你转接成功了吗? Bill_the_Lizard 先生:我希望这是可能的,对吗?

标签: android phone-call


【解决方案1】:

我在网上探索并得到了我的问题的答案,即如何以编程方式转发呼叫。加上这几行代码就可以实现了。

String callForwardString = "**21*1234567890#";    
Intent intentCallForward = new Intent(Intent.ACTION_DIAL); // ACTION_CALL                               
Uri uri2 = Uri.fromParts("tel", callForwardString, "#"); 
intentCallForward.setData(uri2);                                
startActivity(intentCallForward); 

这里的 1234567890 代表电话号码。根据需要在此处添加适当的电话号码。可以拨打##21#关闭服务。

【讨论】:

  • 您遇到什么错误?我已经对此进行了测试,它对我有用。这也仅适用于 gsm 号码。
  • Intent.ACTION_DIAL 将带您进入拨号屏幕,Intent.ACTION_CALL 将呼叫放入 setData() 的号码,因此将直接拨打号码 **21*your_number#。如果“your_number”正确,这将使您的手机自动进入呼叫转移模式。
  • 谁能告诉我,我需要在哪里添加这段代码,在程序中。这是一次性设置吗?即使手机处于飞行模式,此代码也会起作用吗?谢谢 Ganesan S
【解决方案2】:

我的解决方案:

Intent intent = new Intent(Intent.ACTION_CALL);  
String prefix = "#31#";          
prefix = Uri.encode(prefix);  
intent.setData( Uri.parse("tel:"+prefix+"123456"));  
startActivity(intent);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多