我正在開發一個項目,該項目要求我的應用能夠在通話過程中在語音的上行頻率上發送DTMF音。通過上行鏈路呼叫發送DTMF音
我的2個條件是:
- 我們不使用定製的Android平臺
- 我們並不需要以root的手機
我花了好幾天做的我家庭作業,並且知道當前的SDK /標準API不支持通話中的DTMF發送。但是,通過使用com.android.internal.telephony
中的相關類,我希望能夠模仿本機Phone應用程序如何執行此操作。我跟着this site on how to use internal APIs for standard 3rd party apps。
我也爲自己設置了Android OS開發環境,並且能夠在模擬器上以調試模式運行電話應用程序來計算其內部工作。
我想盡各種辦法對一隻股票的標準仿真器,但我得到的錯誤是:
試圖安裝基於使用android.uid.phone的sharedUserId Phone.apk的源改名應用後,我得到了:
Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
毫無疑問,由於我沒有系統證書籤名它的事實。
在嘗試編寫基於來自Phone.apk的源代碼的相關DTMF音頻發送代碼的自定義應用後,在設置PhoneFactory時出現以下錯誤;
java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.provider.Telephony.SPN_STRINGS_UPDATED.
毫無疑問,由於我的應用程序沒有正確的權限,但AndroidManifest.xml中被設定與相同的權限Phone.apk。
我不知道我還能嘗試什麼。有沒有人有什麼建議?
在此先感謝, 西蒙。
嘿,這個功能的狀態有任何改變嗎?我是否能幫助?我試圖理解ASOP網站的投票位置,但我放棄了。我甚至不明白,如果該功能被接受或卡住了?它的狀態是什麼? – 2014-07-19 22:20:39
最新的修補程序集因拒絕在AOSP主服務器上合併而被拒絕。如果其他人可以選擇它,重新整合它並提交一個新的補丁集,那將會很好。 – 2015-01-12 10:55:06