2017-02-13 105 views
1

我想爲我的Android手機編寫攔截來電並播放短音頻片段的軟件,指示來電者按「1」繼續進行通話。這是爲了打擊電話推銷員。在Android上攔截來電

這與目前的(Android 7「牛軋糖」)API可能嗎?

注:

  • 這很難,因爲在2012年,Android的2.3(薑餅)刪除與修改手機狀態一些重要的API來獲取一個明確的答案,看here。但是,Android 7(「Nougat」)似乎支持呼叫阻止(請參閱here),所以我希望當前的API支持攔截呼叫。

  • 我不想按照建議here轉發呼叫到某個服務器。

  • 我寧願自己編寫軟件,也不安裝Hiya這樣的應用程序。

  • 我有一個由我的運營商指定的普通電話號碼(沒有花哨的Google語音或VOIP資料),我使用標準的「電話」應用。

  • 我的手機沒有植根。

  • 這受到Jolly Roger Telephone Company反電話推銷機器人的啓發。

  • 我以前問過類似的問題iPhone的here

謝謝。

回答

1

具體的文檔鏈接是 Android 7.0 - Number Blocking feature

的Android 7.0現在支持在平臺阻塞數量和提供了一個框架,API,讓服務供應商保持阻塞的號碼列表。默認的短信應用程序,默認電話應用程序和運營商應用程序可以讀取和寫入阻止號碼列表。 該列表不能被其他應用程序訪問。

最後一行突出顯示這不是一般訪問功能。

向下鑽取到BlockedNumberContract

只有系統中,默認的短信應用,默認手機應用程序(見getDefaultDialerPackage()),和運營商的應用程序(見CarrierService)可以讀取和寫入被阻止的數字提供者。但是,canCurrentUserBlockNumbers(Context)可以被任何應用程序訪問。

所以,如果你是默認的撥號程序或默認的短信應用程序,你應該有權限訪問。如果你不是其中的任何一個,那麼所有的應用程序都可以做的是找出該功能是否可用。

此外,我不知道將音頻注入呼叫的一般方法,請參閱:Call Stream Modification on Android