描述android手机 用户拨打电话(原理)(12593+号码)

转载 2013年12月04日 15:05:32

如果你喜欢请点击:http://huameiai.taobao.com/     http://wd.koudai.com/s/260295144?wfr=cmeiai.taobao.com/ 

谢谢你们的帮助!




描述android手机 用户拨打电话(原理)(12593+号码)


http://blog.sina.com.cn/s/blog_7bc3d84f0100uswx.html



获得手机运营商码

 

呼叫记录有三种类型:

来电:CallLog.Calls.INCOMING_TYPE (常量值:1

外拔:CallLog.Calls.OUTGOING_TYPE(常量值:2

未接:CallLog.Calls.MISSED_TYPE(常量值:3

 

假如我的电话号码是移动的  那么我要打长途 就要在其前面加12593+号码   我们想电话拨号器能自动识别并添上12593

 

的当用户输入号码 点击绿色的拨打电话  实际上也是发送了外拨电话的一个广播  这个广播会传给电话拨号器里面的 接收者

电话拨号器里的接收者 接收到该广播后  就实现了这个电话拨打

 

那么我们希望 广播到达电话拨号器之前 先得到该广播  然后把广播里面用于存放拨打电话号码的参数 改成新的号码

然后把新的号码送给拨号器里的 广播接受者

 

 

如果你是要接受 外拔广播意图 那么 清单的接受者应该是

 

<receiver android:name=".NumberBroadcastReceiver">

           <intent-filter android:priority="1">

              <action android:name="android.intent.action.NEW_OUTGOING_CALL"/> //申请外拨电话广播接受权限 注意这个

           </intent-filter>

</receiver>

 

 

 

 

 

   extends BroadcastReceiver 的类中

public void onReceive(Context context, Intent intent) {

    private static final String OUTGOING_CALL ="android.intent.action.NEW_OUTGOING_CALL";

 

       if(OUTGOING_CALL.equals(intent.getAction())){

           TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

           String operator = telephonyManager.getSimOperator();//获得经营商  判断是联通还是移动用的

           if("46000".equals(operator) || "46002".equals(operator)){//46000  46002是中国移动的 联通是46001  电信是46003

              String nubmer = getResultData();

              if(!nubmer.startsWith("12593")){

                  nubmer = "12593"+ nubmer;

                  setResultData(nubmer);

              }

           }

else if(…) ………………..//其他意图活动


android 拨打特殊字符电话号码

今天遇到了一个很难解的问题,简单说来就是拨打一个电话号码,打通后自动输入不同的数字命令。代码如下 private void callout(String number) { if (!...
  • sollian
  • sollian
  • 2016年01月15日 18:36
  • 1181

iOS 点击号码拨打电话三种方式

1,这种方法,拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示 NSMutableString * str=[[NSMutableString alloc] initWi...
  • wujakf
  • wujakf
  • 2017年05月25日 10:12
  • 1155

Android 直接转拨分机号码

背景今天产品经理给我提出一下需求,公司的客服电话号码:101057,但是我们部门业务的分机号码需要再按一个3键,这样在APP中点击联系客服之后,总是让用户再去选择3,很可能选错。所以问我能不能直接转接...
  • xujinyang1234
  • xujinyang1234
  • 2015年11月03日 22:21
  • 1395

Android使用am命令实现拨打电话、打开应用

前提:在Android 通话自动化测试中会用到am命令去拨打电话、打开音乐播放器播放音乐等等操作。这里总结一下am命令。Android am命令:(1)命令参数:am start -n 包名(pack...
  • lugandong
  • lugandong
  • 2015年08月16日 09:37
  • 2389

React native 拨打电话功能

Linking提供了一个通用的接口来与传入和传出的App链接进行交互,我介绍的Linking的传出,比如跳转外部链接,打电话,发邮件,打开某个浏览器链接。下面写个简单的打电话例子,仅供参考import...
  • wangjuan_01
  • wangjuan_01
  • 2017年03月24日 13:59
  • 744

点击网页上的手机号码直接拨打电话

今天写了一个html5的页面,使用bootstrap了目的是为了实现,一个页面同时适应手机、平板、和电脑不同分辨率的屏幕。在这个页面上有这么一个功能,点击网页上显示的手机号码直接拨打电话。功能很简单实...
  • lanyuxinkong
  • lanyuxinkong
  • 2015年03月13日 14:04
  • 5398

Android点击按钮打电话

MainActivity.java import android.app.Activity; import android.content.Intent; import android.net.Ur...
  • kalision
  • kalision
  • 2014年10月26日 13:29
  • 8045

ios lable中电话号码点击拨打电话

1.核心代码,找到电话号码的位置  #pragma mark- + (CGRect)boundingRectForCharacterRange:(NSRange)range andLable:(UI...
  • feifeiwuxian
  • feifeiwuxian
  • 2017年11月21日 18:15
  • 195

js 拨打电话号码的方法

js 拨打电话号码的方法
  • leizi929
  • leizi929
  • 2015年10月16日 17:15
  • 5531

一、AndroidSDK自带proguard混淆

一、AndroidSDK自带proguard混淆 在Android SDK中自带有proguard代码混淆器,但在默认的情况下该混淆器是没有打开的。该混淆器在SDK中的路径是android-sdk-...
  • jinhao2003
  • jinhao2003
  • 2011年12月23日 16:32
  • 547
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:描述android手机 用户拨打电话(原理)(12593+号码)
举报原因:
原因补充:

(最多只允许输入30个字)