ICS SIP Call移植
生活随笔
收集整理的這篇文章主要介紹了
ICS SIP Call移植
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近在移植ICS的sip call?,F(xiàn)把移植經(jīng)歷分享一下。
sip call撥打電話過程跟正常撥打電話過程沒什么兩樣。但是sip call需要有WiFi的支持。并且有sip server可以提供賬戶。
SipSettings.java是sip call的通話設(shè)置。ICS已經(jīng)做好。只需要開啟WiFi,可以添加賬戶。并可以選擇允許接聽電話否?
?->dialButtonPressed(),設(shè)置一個intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
? ? ? ? ? ? ? ? ? ? ? ? ? ? Uri.fromParts("sip", number, null));
3.其他過程同ICS打電話過程一樣,請參考我之前的ICS來電話,打電話過程。此處不再贅述。需要注意的是。在SipCallOptionHandler.java中createSipPhoneIfNeeded()會創(chuàng)建并注冊sip phone。如何沒有創(chuàng)建,需要檢查PhoneApp.java中是否需要創(chuàng)建。
如果沒有意外,那么恭喜你,sip call已經(jīng)可以撥打通話了。
接聽電話過程。
首先需要在sip setting中,將允許接聽電話的選項(xiàng)勾選上。
1,在SipBroadcastReceiver.java中。onReceive()中當(dāng)勾選允許接聽以后,action.equals(SipManager.ACTION_SIP_ADD_PHONE)會創(chuàng)建并注冊一個sip phone.
2.當(dāng)電話來之后,會收到ACTION_SIP_INCOMING_CALL廣播。調(diào)用
?->takeCall()
3.SipPhone.java
?->canTake()
?如果沒有意外,恭喜你。sip可以接聽電話了。
sip call撥打電話過程跟正常撥打電話過程沒什么兩樣。但是sip call需要有WiFi的支持。并且有sip server可以提供賬戶。
SipSettings.java是sip call的通話設(shè)置。ICS已經(jīng)做好。只需要開啟WiFi,可以添加賬戶。并可以選擇允許接聽電話否?
接下來,你就可以撥打電話了。下面說說撥打電話的過程。
1.首先,要打開sip call的權(quán)限??梢栽?*.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中??梢栽O(shè)置一個sip的撥號鍵。?->dialButtonPressed(),設(shè)置一個intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
? ? ? ? ? ? ? ? ? ? ? ? ? ? Uri.fromParts("sip", number, null));
3.其他過程同ICS打電話過程一樣,請參考我之前的ICS來電話,打電話過程。此處不再贅述。需要注意的是。在SipCallOptionHandler.java中createSipPhoneIfNeeded()會創(chuàng)建并注冊sip phone。如何沒有創(chuàng)建,需要檢查PhoneApp.java中是否需要創(chuàng)建。
如果沒有意外,那么恭喜你,sip call已經(jīng)可以撥打通話了。
接聽電話過程。
首先需要在sip setting中,將允許接聽電話的選項(xiàng)勾選上。
1,在SipBroadcastReceiver.java中。onReceive()中當(dāng)勾選允許接聽以后,action.equals(SipManager.ACTION_SIP_ADD_PHONE)會創(chuàng)建并注冊一個sip phone.
2.當(dāng)電話來之后,會收到ACTION_SIP_INCOMING_CALL廣播。調(diào)用
?->takeCall()
3.SipPhone.java
?->canTake()
?如果沒有意外,恭喜你。sip可以接聽電話了。
轉(zhuǎn)載于:https://www.cnblogs.com/chengliu/archive/2012/06/14/3636415.html
總結(jié)
以上是生活随笔為你收集整理的ICS SIP Call移植的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server 2012 中的 S
- 下一篇: 建立最简单的repo服务器实例讲解