Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android 開發,視頻群聊引發短信異常

android 開發,視頻群聊引發短信異常

編輯:關於Android編程

我正在開發一個收到信息後發送一條短信進行回復的程序(自動回復),當我的手機啟動群聊程序,我的程序並沒有成功的發送消息,於是我采用了如下的代碼解決這個問題。


在信息發送後,我專門記錄了SMS日志,但是現在 短信接收優先級高於群聊,發送的消息被寫入到用戶的短信記錄收到的消息後,他應該展示如下日志:

Response Message
Received Message - this is what triggered the response

但是現在他展示的日志不對,如下

Received Message - triggers response

Response Message

我感覺我的程序被群聊的程序影響了,擾亂了我的程序,現在不知道該如何處理.

下面是我代碼:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 context.getContentResolver().registerContentObserver( Uri.parse(content://sms), true, smsObserver); And this class: private class SMSObserver extends ContentObserver { public SMSObserver() { super(null); } @Override public boolean deliverSelfNotifications() { return true; } @Override public void onChange(boolean selfChange) { super.onChange(selfChange); if(!selfChange) //sendResponse context.getContentResolver().unregisterContentObserver(this); } @Override public void onChange(boolean selfChange, Uri uri) { super.onChange(selfChange, uri); if(!selfChange) //sendResponse context.getContentResolver().unregisterContentObserver(this); } }

處理方法

 

嘗試使用 ContentObserver 監聽群聊程序發送短信時的內容,或者測試其他手機,看看是否出現相同的問題

可以采用如下代碼測試

1 2 3 4 5 6 7 8 context.getContentResolver().registerContentObserver(Uri.parse(content://sms), true, myContentObserver); 或者 cursor = context.getContentResolver().query(Uri.parse(content://sms/inbox), new String[] { SMS_ID, SMS_ADDRESS, SMS_READ }, read = 0, null, null); cursor.registerContentObserver(myContentObserver);

但我不能使用非光標版本,短信/收件箱中的某些原因。的基於游標的版本的缺點是,它似乎需要保持開放的話,那麼你必須確保在以後將其關閉。
此外,無論是版本被稱為讀狀態發生變化時。

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved