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

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

下面是我代碼:

 

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