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

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

<intent-filter android:priority="500">
    <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>

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

Response Message
Received Message - this is what triggered the response

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

Received Message - triggers response

Response Message

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

下面是我代碼:

 

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
 
  1. context.getContentResolver().registerContentObserver(  
  2. Uri.parse("content://sms"),  
  3. true,   
  4. smsObserver);  
  5. And this class:  
  6. private class SMSObserver extends ContentObserver  
  7. {  
  8.     public SMSObserver()  
  9.     {  
  10.         super(null);  
  11.     }  
  12.    
  13.     @Override  
  14.     public boolean deliverSelfNotifications() {  
  15.         return true;  
  16.     }  
  17.    
  18.     @Override  
  19.     public void onChange(boolean selfChange) {  
  20.         super.onChange(selfChange);  
  21.         if(!selfChange)  
  22.             //sendResponse  
  23.         context.getContentResolver().unregisterContentObserver(this);  
  24.     }  
  25.    
  26.     @Override  
  27.     public void onChange(boolean selfChange, Uri uri) {  
  28.         super.onChange(selfChange, uri);  
  29.         if(!selfChange)  
  30.             //sendResponse  
  31.         context.getContentResolver().unregisterContentObserver(this);  
  32.     }  
  33. }  

 

 

處理方法

 

嘗試使用 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);

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

 

 


原文地址:http://www.itmmd.com/201411/141.html 
該文章由 萌萌的IT人 整理髮布,轉載須標明出處。

發佈了296 篇原創文章 · 獲贊 10 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章