我試圖提取發送的短信。我知道這沒有BroadcastRecver。所以我發現我可以使用ContentObserver來監聽db中的更改。ContentObserver用於短信
我該如何執行此操作?我的目標是只得到新的SMS發送,並通過POST發送的DB
感謝
我試圖提取發送的短信。我知道這沒有BroadcastRecver。所以我發現我可以使用ContentObserver來監聽db中的更改。ContentObserver用於短信
我該如何執行此操作?我的目標是只得到新的SMS發送,並通過POST發送的DB
感謝
是有可能通過註冊ContentObserver內容偵聽新短信://短信/
在此看到後我的答案,我們如何註冊ContentObserver內容://短信/
Practical way to find out if SMS has been sent
,你還可以下載工作examp樂從這裏
下面是一個代碼片段來做到這一點。關鍵是要使用僅顯示「type =傳出消息」的選擇。
此外,由於內容數據庫可能被任何更改觸發,請跟蹤(以某種方式)已處理的內容。
int THREAD_ID = 0, ADDRESS = 1, DATE = 2, TYPE = 3, BODY = 4, INCOMING = 1, OUTGOING = 2, UNKNOWN = -1;
String[] smsProjection = new String[] {"thread_id", "address", "date", "type", "body"};
ContentResolver cr = context.getContentResolver();
Cursor cursor = context.getContentResolver().query(uri, smsProjection, "type = ? AND date > ?",new String[]{Integer.toString(OUTGOING), Long.toString(lastOutgoingSmsTime)}, null);
看到我的編輯答案 –