2014-07-21 65 views
3

我們有一個應用程序可檢測並接收傳入的SMS消息,然後自動響應這些消息。所有這些都很好,但是我們注意到了一個怪癖。在我的Android手機(LG L70)上,它可以很好地在本機「消息」應用中顯示自動回覆。但是,在我們用於測試的不同設備上(S4 mini),自動響應不顯示。但是自動回覆消息實際上是在設備沒有問題的情況下發送的。Android - 發送的短信不會顯示在本地消息應用程序

下面是發送SMS消息代碼:

SmsManager.getDefault().sendTextMessage(message.getSenderNumber(), 
      null, 
      autoResponseText, 
      PendingIntent.getBroadcast(this, 0, new Intent(ACTION_SMS_SENT), 0), 
      null); 

這已經讓我們撓頭,不用說。這些是我們購買的新「測試」手機,所以它們不會被其他已安裝的應用程序阻塞,這些應用程序似乎會干擾這類事情。我們嘗試更改各種設置,甚至是卸載Google環聊等內容,但沒有成功。出於某種原因,我的手機可以正常工作,在本機「消息」應用程序中顯示所有消息,但在另一部手機上則不會。

這可能是一個設備特有的問題?還是我們可以在代碼中解決的問題?如果需要更多信息或代碼,我很樂意提供。提前致謝!

+1

你有使用內容解析器來保存發送的短信? – someone

+1

'SmsManager'不負責更新任何類型的SMS收件箱,發件箱或其他內容。大多數設備的行爲將與您的S4 mini相似。 – CommonsWare

+0

@CommonsWare哦有趣,我沒有意識到這一點。所以我猜測沒有辦法將它「強制」到「消息」發件箱/收件箱中?如果沒有,那沒問題,但是我想在關閉這個特殊的功能之前確定蓋子。感謝您對此的回覆。 – svguerin3

回答

0

原來this後有正確的答案,並且來自Rhth的評論確實是正確的。

但是,需要注意的是使用ContentResolver查詢和查找消息的代碼無法正常工作,我猜測是因爲SmsManager異步發送消息,並且在完成之前不會插入ContentResolver。 。因此,當SmsManager發送消息後立即調用搜索代碼時,它無法找到它。

我想像着某種延遲,我可以進入一種可以工作的狀態,但奇怪的是,我不必擔心它,因爲通過ContentResolver手動插入消息的代碼工作正常罰款兩個前面提到的設備!即它不會在正常工作的設備上覆制消息。所以這種方法在所有方面都達到了最佳水平。

相關問題