編輯:關於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 33context.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);
但我不能使用非光標版本,短信/收件箱中的某些原因。的基於游標的版本的缺點是,它似乎需要保持開放的話,那麼你必須確保在以後將其關閉。
此外,無論是版本被稱為讀狀態發生變化時。
本文實例講述了Android中ViewFlipper的使用及設置動畫效果。分享給大家供大家參考,具體如下:說到左右滑動,其實實現左右滑動的方式很多,有ViewPaer,自
一、需求分析“位置分享”App正如其名稱所述那樣,是一款可以分享自己地理位置的應用。“位置分享”App的功能需求大致如下:
Android中圖案解鎖首先要理解圖案的實現原理,上一張圖: 由上圖,可以看出,圖案中手勢的記錄是1-9或0-8的,保存的順序就是密碼,當然有些是可以重復的,為了安全,
在Android系統中,發一個狀態欄通知還是很方便的。下面我們就來看一下,怎麼發送狀態欄通知,狀態欄通知又有哪些參數可以設置?首先,發送一個狀態欄通知必須用到兩個類: N