zoukankan      html  css  js  c++  java
  • ICS SIP Call移植

    最近在移植ICS的sip call。现把移植经历分享一下。
    sip call拨打电话过程跟正常拨打电话过程没什么两样。但是sip call需要有WiFi的支持。并且有sip server可以提供账户。
    SipSettings.java是sip call的通话设置。ICS已经做好。只需要开启WiFi,可以添加账户。并可以选择允许接听电话否?

    接下来,你就可以拨打电话了。下面说说拨打电话的过程。

    1.首先,要打开sip call的权限。可以在.*.mk文件中。添加

     PRODUCT_COPY_FILES += \ 
     frameworks/base/data/etc/android.software.sip.xml:$(PRODUCT_OUT)/system/etc/permissions/android.software.sip.xml \
     frameworks/base/data/etc/android.software.sip.voip.xml:$(PRODUCT_OUT)/system/etc/permissions/android.software.sip.voip.xml

    2.在DialpadFragment.java中。可以设置一个sip的拨号键。
     ->dialButtonPressed(),设置一个intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
                                Uri.fromParts("sip", number, null));
    3.其他过程同ICS打电话过程一样,请参考我之前的ICS来电话,打电话过程。此处不再赘述。需要注意的是。在SipCallOptionHandler.java中createSipPhoneIfNeeded()会创建并注册sip phone。如何没有创建,需要检查PhoneApp.java中是否需要创建。
    如果没有意外,那么恭喜你,sip call已经可以拨打通话了。


    接听电话过程。
    首先需要在sip setting中,将允许接听电话的选项勾选上。
    1,在SipBroadcastReceiver.java中。onReceive()中当勾选允许接听以后,action.equals(SipManager.ACTION_SIP_ADD_PHONE)会创建并注册一个sip phone.
    2.当电话来之后,会收到ACTION_SIP_INCOMING_CALL广播。调用
     ->takeCall()
    3.SipPhone.java
     ->canTake()
     如果没有意外,恭喜你。sip可以接听电话了。
  • 相关阅读:
    php $_SERVER中的SERVER_NAME 和HTTP_HOST的区别
    手机web——自适应网页设计(html/css控制)
    js正则表达式语法
    禁止鼠标右键的代码(转)
    php获取文件名称和扩展名
    php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法
    js中cookie的使用详细分析
    fopen中r+和w+的区别
    左右选择框 js插件
    SpringMVC 过滤器Filter使用解析
  • 原文地址:https://www.cnblogs.com/chengliu/p/3636415.html
Copyright © 2011-2022 走看看