2016-09-23 58 views
5

我使用iOS 10的CallKit接收來電。我的應用程序中的電話不是來自「電話號碼」或「電子郵件地址」,而是來自我協議中的內部標識符。因此,我使用CXHandleTypeCXHandleTypeGeneric(而不是CXHandleTypePhoneNumberCXHandleTypeEmailAddress)報告來電,使用自定義字符串作爲句柄的「值」。如何攔截來自CallKit來電屏幕的「消息」?

當我報告來電,並且電話未鎖定時,用戶通過按鈕「提醒我」,「留言」,「拒絕」和「接受」看到來電屏幕。如果用戶按下「消息」按鈕並選擇以下菜單中的一個消息字符串,它會嘗試通過消息應用程序將該字符串作爲文本消息發送,目標是我用作「值」的自定義字符串「的電話處理,就好像它是一個電話號碼或電子郵件地址,即使它不是。這通常會導致郵件由於目標無效而無法發送,但根據字符串的不同,它可能實際發送到用戶不想發送到的有效目標;兩個結果都不好。

我正在查看是否有方法讓郵件沒有通過郵件應用程序發送(這在我的情況下總是不正確),而是被傳遞到我的應用程序,以便我可以將郵件發送到通過我的內部協議正確調用。


更新:的「提醒我」和「消息」按鈕不再出現在iOS 10.1

+0

已解決此案? ,否則我們怎麼能隱藏消息/提醒我按鈕。 – Madhu

+0

我可以在接聽電話時打開我的自定義應用嗎?請知道我,因爲我沒有iOS開發經驗。但很想知道這一點。 – Choxx

回答

1

的iOS 10.1貝塔1改變了這種行爲,以不再顯示「提醒我」或「 Message「按鈕,因此我鼓勵您使用該Beta操作系統重新測試您的應用程序。

如果您希望來自應用的來電能夠繼續顯示「消息」按鈕,但是您的應用收到消息請求而不是系統的本機消息應用,請file a bug與Apple聯繫請求此功能。

+0

我可以打開我的自定義應用程序接聽來自本地屏幕的電話嗎?請知道我,因爲我沒有iOS開發經驗。但很想知道這一點。 – Choxx

+0

如果設備在通過CallKit應用程序到達並且用戶應答來電時被鎖定,設備將保留在本機來電UI中,因爲設備仍處於鎖定狀態,iOS無法在前臺啓動應用程序。但是,如果設備在來電呼叫到達時已經解鎖,那麼一旦呼叫被應答,用戶就會直接進入該應用。 –

+0

**一旦應答呼叫,用戶將直接進入應用程序**您是指我的VoIP應用程序正在呼叫呼叫​​屏幕?我檢查過fb使者。當出現呼叫屏幕時點擊視頻按鈕,用戶將被帶到fb信使視頻通話屏幕。意味着我們可以覆蓋通話屏幕上的按鈕?我不是從iOS背景。所以請讓我知道這些查詢 – Choxx