我正在開發一個應用程序,它應該:如何在Android中識別來電的開始和結束?
- 當來電開始時啓動。
- 呼叫結束後立即結束。
更具體地說,我不想要應用程序,而電話響起開始,但實際談話是開始時(也就是,用戶已接受來電)。
有誰知道如何做到這一點?以及如何捕捉這些事件?
我正在開發一個應用程序,它應該:如何在Android中識別來電的開始和結束?
更具體地說,我不想要應用程序,而電話響起開始,但實際談話是開始時(也就是,用戶已接受來電)。
有誰知道如何做到這一點?以及如何捕捉這些事件?
你想要的是由TelephonyManager提供。
您應該創建一個BroadcastReceiver,它會監聽ACTION_PHONE_STATE_CHANGED。當你在你的AndroidManifest.xml中聲明它時,它會產生你的服務/活動。 當您產卵時,手機很可能剛剛處於振鈴狀態。因此,您必須通過TelephonyManager.listen()註冊PhoneState的進一步更改。這樣你就會注意到電話被掛斷時以及回到閒置狀態。
不要忘了要求READ_PHONE_STATE permission。
你可否提供我一個例子? – 2012-02-18 16:34:57
可以在[這裏]找到用於TelephoneState的BroadcastReceiver的示例(http://www.vogella.de/articles/AndroidServices/article.html)。對於狀態監聽器試試[this](http://marakana.com/forums/android/examples/62.html)一。你只需要合併它們。 – Luminger 2012-02-18 17:23:08
我看到了第一篇文章,@Anand S給了我那個鏈接。第二個沒有描述如何識別來電的開始和結束的方式。我錯了嗎? – 2012-02-19 00:39:33
我還不明白如何捕捉我想要的事件。你的第二個例子在哪裏? – 2012-02-18 16:37:18
所有你基本需要的是[廣播接收器](http://developer.android.com/reference/android/content/BroadcastReceiver.html)。本教程末尾的代碼給你提供了這一點。 – 2012-02-18 17:03:16