android 系統獲取通話狀態的方法

2021-07-11 07:24:07 字數 1433 閱讀 2434

1>編寫乙個***類,該類繼承自phonestatelistener:

重寫該類中的監聽方法:

classmyphonelistener extends phonestatelistener}}

2>建立並啟動監聽服務(需要執行如下**才能監聽並執行***中重寫的oncallstatechangerd方法);

telephonymanagermanager = (telephonymanager) getsystemservice(telephony_service

);manager.listen(newmyphotolistener(),phonestatelistener.listen_call_state

);3>在清單檔案中註冊許可權。

android.permisison.read_phone_state

/** device call state: no activity. */

手機沒有發生通話行為,空閒狀態;

結束通話會觸發該事件。

public

static

final

intcall_state_idle

= 0; 

/** device call state: ringing. a new callarrived and is

* ringing or waiting. in the latter case, another call is

* already active. */

簡單翻譯一下:手機處於振鈴狀態。當有新的呼叫呼入或者呼叫等待時,觸發該事件。呼叫等待指的是當前已存在接通的通話(如果開通了呼叫等待業務,在有通話業務過程中,其他號碼呼入也會觸發該事件);

public

static

final

intcall_state_ringing

= 1;

/** device call state: off

-hook. at least onecall exists

* that is dialing, active, or on hold,and no calls are ringing

* or waiting. */

這個要重點說一下,看有資料翻譯offhook是掛機,這個是錯誤的。掛機會直接執行call_state_idle。offhook是摘機,就是接**。

原文翻譯:**的(通話)狀態:摘機。至少存在乙個撥號,接通,或者呼叫保持的業務,並且不存在其他呼叫的振鈴或者呼叫等待。

就是在撥號時、接**時、接通處於呼叫等待中的來電時、都會觸發該事件。

public

static

final

intcall_state_offhook

= 2;

android獲取系統wifi狀態等

wifi 獲取wifi狀態 wifimanager wifimanager wifimanager context.getsystemservice context.wifi service if wifimanager null 附 wifi狀態有以下幾種 括號內為所對應的的int值 1.wifi...

Android 預設通話應用

專案中有個彩鈴需求,所以用到了預設通話,在android10之後,請求預設通話許可權發生了改變,故整理 關於替換系統的預設通話,需要提供如下幾點 1.提供uiactivity,在登錄檔中需要有如下配置 2.提供service,在登錄檔中也需要如下配置 class phonecallservice e...

安卓通話狀態監控

case stop ring if dbg log mringhandler stop ring.r ringtone msg.obj if r null else getlooper quit break 這邊是當對方接聽前掛 或者對方沒有能力接 後,本機的提示音會隨之變化,關鍵在與這個stop ...