簡體   English   中英

Android:連接時電話呼叫檢測?

[英]Android : Phone call detect when connected?

我可以使用此代碼撥打電話:

Intent dial = new Intent(Intent.ACTION_CALL); 
dial.setData(Uri.parse("tel:5556") ); 
context.startActivity(dial);

但是如何檢測是否接聽電話或拒絕接聽電話? 我嘗試過PhoneStateListener,但它無法正常工作。

不幸的是,Android沒有理由知道何時接聽了撥出電話。

PhoneStateListener工作正常,但onCallStateChanged通知的3個狀態是不夠的。 歡迎使用像CALL_STATE_CONNECTED這樣的附加狀態。

有一個未解決的問題要求此功能,但到目前為止它沒有受到太多關注: https//code.google.com/p/android/issues/detail?id = 14266

有些人(像我一樣)使用logcat回退並嘗試推斷是否已經回答了撥出電話,但這遠非理想的解決方案。

我也在尋找同樣問題的答案,顯然沒有直接的方法來做到這一點。 但是,我認為我們可以將Call Log內容觀察者與PhoneStateListener結合起來以獲得呼叫持續時間。 我們可以在啟動傳出呼叫時在共享首選項中設置一個標志,如果調用日志中有任何更改並且我們的共享首選標志為真,我們可以從呼叫日志中獲取呼叫持續時間,以查看呼叫是否曾連接過:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM