Android监听呼出电话

  最近买了G2手机,亲身体验一下GOOGLE android,但是我的神州行电话卡,拨打任何电话时必须加上“12593”才能节约银子,试了几个拨号的软件如Symbian做的很好的来电通,但是在android下不断的报错,无奈只好自己做个非常简单的监听器。

  继承BroadcastReceiver类,代表此类为广播接收类,名字任意,在Manifast.xml中添加receiver:

    <receiver android:name="YafeeCall">
       <intent-filter>
          <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
       </intent-filter>
      </receiver>

  当然,还要写明监听权限:

    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"></uses-permission>

  然后在实现类中加上前缀12593:

    public void onReceive(Context arg0, Intent arg1) {
        this.setResultData("12593"+this.getResultData());
     }

  这样,当系统监听到呼出电话时,会在呼出的号码前加上“12593”。

  

  但是在测试后发现,手动拨数字呼出时,会加好12593,通讯记录呼出时,也会拨出12593,但是在进入联系人详细,选择呼叫联系人时,不会加12593,难道是这里监听不到,还是这里本身不是NEW_OUTGOING_CALL?

  查了些资料也没有找到相对应的解释和办法,明天继续查。

  园子里的大牛有知道这个方法的,请指点,感谢不尽!呵呵。

posted @ 2010-05-14 00:19  爱吃猫的老鼠  阅读(3488)  评论(5编辑  收藏  举报