0

我對Android開發相當陌生,並且正在開發一個應用程序,該應用程序允許用戶激活和停用響應傳入呼叫的​​功能。即如果他們打開該功能,則在他們接到呼叫時發生某些事情,如果該功能被關閉,則不會發生任何不尋常的事情。聆聽/代理呼叫狀態更改 - 服務?活動?接收器?

我已經掌握了TelephonyManager和PhoneStateListener的基礎知識 - 我可以在啓用該功能時爲呼叫狀態創建一個監聽器,並在禁用該功能時將其刪除。啓用和禁用該功能是通過簡單的活動用戶界面完成的。

收到呼叫後,該功能會使用存儲在應用程序首選項中的數據。 如果該功能處於啓用狀態,它應該運行直到它被關閉,無論該應用程序是否處於活動狀態......理想情況下,如果啓用了該功能(功能的狀態存儲在應用程序首選項中),則應在重新啓動後啓動。

我的問題是,實現這個的最佳方法是什麼?

我最初開始在服務(這是開始/通過啓用/禁用該功能停止)工作...

然後我注意到,呼叫狀態監聽器只是正常工作時設置/取消直接通過活動,但懷疑這可能會遇到問題時,活動結束/垃圾收集......? (我不知道很多關於Android如何處理這樣的事情)

我也看到了接收機/廣播接收機這看起來像別的東西我可以用一提。乍一看,他們似乎是一個「永遠在線」的東西,但我想我可以檢查應用程序的首選項,以查看該功能是否在每次接到電話時啓用...

我還沒有真正看過確保在啓動手機後該功能可以正常工作。我也沒有真正考慮從服務/接收器訪問應用程序偏好 - 應該是可能的,雖然...

任何想法或建議將是偉大的。代碼示例或指導教程的鏈接也非常出色。

回答