編輯:關於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 8context.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);
但我不能使用非光標版本,短信/收件箱中的某些原因。的基於游標的版本的缺點是,它似乎需要保持開放的話,那麼你必須確保在以後將其關閉。
此外,無論是版本被稱為讀狀態發生變化時。
這幾天開發要用到微信授權的功能,所以就研究了一下。可是微信開放平台接入指南裡有幾個地方寫的不清不楚。在此總結一下,以便需要的人。很多微信公眾平台的應用如果移植到app上的
一、文字相關方法預覽://普通設置paint.setAntiAlias(true); //指定是否使用抗鋸齒功能 如果使用會使繪圖速度變慢 默認falsesetStyl
一、前言Android 實現衛星式菜單也叫弧形菜單,主要要做的工作如下:1.動畫的處理2.自定義ViewGroup來實現衛星式菜單View(1)自定義屬性 &n
1、對話框通知(Dialog Notification)當你的應用需要顯示一個進度條或需要用戶對信息進行確認時,可以使用對話框來完成。下面代碼將打開一個如圖所示的對話框: