我试图提取发送的短信。我知道这没有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);
看到我的编辑答案 –