Android Call(打電話)的基本知識(shí)詳解
call就是平時(shí)我們常用的通話功能,最基本的就是來(lái)電incoming call,撥打電話outgoing call,掛斷電話hangupcall,一般來(lái)說(shuō)撥打一方成為主叫方,接聽方為被叫方。Call模塊常用的一些名詞有:
1. dialing call
撥打一路電話,對(duì)方尚未接聽,主叫方等待被交接聽的時(shí)候的狀態(tài)即為dialing狀態(tài)
2. active call
激活通話:雙方正在進(jìn)行的正常的通話
3. hold call
保持通話:即將當(dāng)前通話掛起,雙方不管主叫還是被叫方都聽不到對(duì)方的聲音
4. mute call
靜音:靜音后對(duì)方聽不到靜音發(fā)起方的聲音,但是靜音發(fā)起方能聽到對(duì)方的聲音
5. waiting call
正在通話過(guò)程中,第三方電話撥打進(jìn)來(lái),第三方對(duì)于當(dāng)前正在通話的用戶來(lái)講就是waiting call等待接進(jìn)來(lái)的電話
6. end all
結(jié)束通話
7. Auto redial
自動(dòng)重?fù)埽捍隧?xiàng)功能一般在call setting當(dāng)中會(huì)讓用戶選擇打開或是關(guān)閉,如果打開,則設(shè)備首次呼叫失敗后,一般會(huì)自動(dòng)再次撥打該號(hào)碼,一般可自動(dòng)重?fù)?次,也有可能更多,且前兩次自動(dòng)重?fù)艿拈g隔時(shí)間較短,后面幾次則較長(zhǎng)
8. Quick dial
快速撥號(hào):即在call setting中設(shè)置一個(gè)按鍵(一般為數(shù)字鍵)的對(duì)應(yīng)一個(gè)常用的號(hào)碼,在idle界面長(zhǎng)按該按鍵就可顯示出該號(hào)碼,并且可以正常撥打出去
9. Answer mode:
應(yīng)答模式:是用戶對(duì)來(lái)電的接聽方式,默認(rèn)情況下一般按接聽鍵可以接聽。在call setting中一般會(huì)有此選項(xiàng),用戶可以自由選擇。
a.自動(dòng)應(yīng)答:一般響鈴5秒鐘左右,電話自動(dòng)接通
b.按任意鍵應(yīng)答:除掛斷鍵和power鍵之外的任意鍵可接聽來(lái)電
10. call waiting
呼叫等待:此項(xiàng)功能需要運(yùn)營(yíng)商支持并開通,一般卡都支持此項(xiàng)功能并且運(yùn)營(yíng)商默認(rèn)開通,一般手機(jī)在call setting里面會(huì)有一項(xiàng)打開或關(guān)閉此項(xiàng)功能的選項(xiàng),用戶可以自由選擇。如用戶設(shè)置了呼叫等待,則可實(shí)現(xiàn)在通話時(shí),若有第三方呼入,會(huì)有提示音和提示畫面,此時(shí)可以選擇接聽,拒絕或是忽略該呼叫。如果選擇接聽第三方來(lái)電,則原通話將會(huì)被保持而不會(huì)被掛斷,當(dāng)然也可以選擇接聽并掛斷原通話。如果拒絕,則會(huì)掛斷第三方通話,原通話不受影響。
11. call forwarding
呼叫轉(zhuǎn)移:呼叫轉(zhuǎn)移是將來(lái)電轉(zhuǎn)接到其他電話上的一種功能,需要運(yùn)營(yíng)商支持和開通,并非所有SIM/USIM卡都有此項(xiàng)功能,轉(zhuǎn)移的號(hào)碼可以是手機(jī)號(hào)碼也可以是固定電話號(hào)碼,具體包括:
a.無(wú)條件轉(zhuǎn)移:即任意來(lái)電都將被轉(zhuǎn)移到設(shè)置好的好馬上去
b.無(wú)應(yīng)答轉(zhuǎn)移:若來(lái)電無(wú)應(yīng)答,一段時(shí)間(由網(wǎng)絡(luò)段決定這個(gè)時(shí)間段的長(zhǎng)短,一般是25秒左右)后,電話將被轉(zhuǎn)移到設(shè)置好的電話號(hào)碼上去
c.無(wú)法接通轉(zhuǎn)移:無(wú)電話無(wú)法接通(比如關(guān)機(jī),無(wú)信號(hào)等)時(shí),電話將被轉(zhuǎn)移到設(shè)置好的電話號(hào)碼上去
d.占線中轉(zhuǎn)移:若電話正在通話中,再呼入一路電話,這路電話將被轉(zhuǎn)移到設(shè)置好的電話號(hào)碼上去
12. call barring
呼叫限制:呼叫限制是對(duì)呼出或來(lái)電認(rèn)為做出一些限制,以限制電話的呼出或者呼入。此功能并非所有的SIM/USIM卡都支持,據(jù)我了解,目前只有開通了國(guó)際通話功能的中國(guó)移動(dòng)旗下的全球通卡支持此項(xiàng)功能。具體包括:
a.所有呼出:手機(jī)將無(wú)法呼出任何電話,一般會(huì)有呼叫被限制的提示
b.所有來(lái)電:手機(jī)將不能接入任何來(lái)電
c.所有國(guó)際呼出:不能撥打任何境外電話
d.所有國(guó)際來(lái)電:任何國(guó)際來(lái)電將不能被接入
e.僅限本地呼入呼出:所有本地呼入呼出將被禁止
13. multi-party
多方通話(并非所有的卡都支持此功能):多方通話的前提條件是此卡必須支持呼叫等待并且呼叫等待功能必須開啟。
當(dāng)在通話過(guò)程中,再來(lái)一路通話,此時(shí)將第三方電話接起后形成多方通話,此時(shí)原來(lái)的那路通話被掛起(即在保持hold狀態(tài)),此時(shí)這路被保持的通話將聽不到這邊的任何聲音,新來(lái)的電話被接進(jìn)來(lái)即為激活狀態(tài),保持和激活狀態(tài)可以互相切換。所以一般多方通話會(huì)有一個(gè)菜單選項(xiàng)里面包含:靜音,保持/激活,加入會(huì)議通話,掛斷當(dāng)前,掛斷保持等跟call相關(guān)的選項(xiàng)
多方通話當(dāng)中還包含會(huì)議通話:當(dāng)存在多方通話時(shí)可選擇加入電話會(huì)議,加入電話會(huì)議的各方均能互相聽到彼此間的聲音,可進(jìn)行多方會(huì)談。電話會(huì)議的菜單選項(xiàng)一般包括:加入/退出電話會(huì)議(選擇任意一個(gè)成員),靜音,電話會(huì)議成員列表,掛斷全部,掛斷某一路程遠(yuǎn)等,若掛斷全部,則會(huì)逐一出現(xiàn)每個(gè)電話的掛斷界面,電話會(huì)議的時(shí)間以最早建立的時(shí)間為準(zhǔn)。多方通話包括會(huì)議通話最大支持七路通話,電話會(huì)議也有人數(shù)限制,運(yùn)營(yíng)商不同最大人數(shù)也不同,當(dāng)達(dá)到最大限制時(shí)將無(wú)法加入電話會(huì)議。
14.Call的處理狀態(tài)
一個(gè)phone有且僅有三個(gè)call,分別是RingCall,F(xiàn)orgroundCall以及BackgroundCall,可以簡(jiǎn)單的理解為每個(gè)call對(duì)應(yīng)四種狀態(tài)(此處暫不去關(guān)心三種Call之間的狀態(tài)區(qū)別)Ring, Active, Hold,Idle,同一時(shí)刻三個(gè)Call只能有一個(gè)Ring狀態(tài)(RingCall), 一個(gè)Active狀態(tài)(ForgroundCall), 一個(gè)Hold狀態(tài)(BackgroundCall),可以同時(shí)有三個(gè)Idle狀態(tài)。所以涉及到Call不同狀態(tài)間如何切換的問(wèn)題。
Android 中對(duì)單卡情況的處理:
a.當(dāng)有Ring call時(shí),不允許hold和active切換;
b.既有Ring call,又有Hold call時(shí),掛斷Ring call會(huì)連帶Hold call一起掛斷。
c.同時(shí)有Active call和Hold call,掛斷時(shí)先掛Active call再掛Hold call
其實(shí)在我們的代碼中,確切的來(lái)說(shuō)不是Call而是connection的概念。RingCall只能建立一路connection,而ForgroundCall和BackgroundCall則可以同時(shí)建立多路connection,尤其是又多方通話或者是會(huì)議通話的時(shí)候,三種狀態(tài)最多可同時(shí)建立七路connection。
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
Android中關(guān)于CoordinatorLayout的一些實(shí)用布局技巧
大家都知道CoordinatorLayout是一個(gè)“加強(qiáng)版”的 FrameLayout,那么下面這篇文章主要給大家分享了Android中關(guān)于CoordinatorLayout的一些布局技巧,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-06-06Android實(shí)現(xiàn)文件的保存與讀取功能示例
這篇文章主要介紹了Android實(shí)現(xiàn)文件的保存與讀取功能,涉及Android中文件操作函數(shù)getFileDir()和getCacheDir()的相關(guān)使用技巧,需要的朋友可以參考下2016-08-08Android自定義相機(jī)實(shí)現(xiàn)定時(shí)拍照功能
這篇文章主要為大家詳細(xì)介紹了Android自定義相機(jī)實(shí)現(xiàn)定時(shí)拍照功能的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01Android項(xiàng)目遷移到AndroidX的方法步驟
這篇文章主要介紹了Android項(xiàng)目遷移到AndroidX的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Android冷啟動(dòng)優(yōu)化的3個(gè)小案例分享
為了提高App的冷啟動(dòng)耗時(shí),除了在常規(guī)的業(yè)務(wù)側(cè)進(jìn)行耗時(shí)代碼優(yōu)化之外,為了進(jìn)一步縮短啟動(dòng)耗時(shí),需要在純技術(shù)測(cè)做一些優(yōu)化探索,本期我們從類預(yù)加載、Retrofit 、ARouter方面進(jìn)行了進(jìn)一步的優(yōu)化,感興趣的同學(xué)跟著小編一起來(lái)看看吧2023-07-07Android 字符串中某個(gè)字段可點(diǎn)擊和設(shè)置顏色的方法
在android開發(fā)中,我們時(shí)常會(huì)遇到對(duì)字符串中某些固定的字段實(shí)現(xiàn)可點(diǎn)擊和顏色的設(shè)置,現(xiàn)粘貼處我在開發(fā)中如何設(shè)置這些屬性的2017-07-07Android應(yīng)用開發(fā)中自定義ViewGroup的究極攻略
這里我們要演示的自定義ViewGroup中將實(shí)現(xiàn)多種方式排列和滑動(dòng)等效果,并且涵蓋子View之間Touch Event的攔截與處理等問(wèn)題,完全干貨,下面就為大家送上Android應(yīng)用開發(fā)中自定義ViewGroup的究極實(shí)例攻略2016-05-05