0
我在使用特定號碼查詢短信發件箱中的數據時遇到問題。 這裏是我的代碼:使用短信發件箱查詢時出錯
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Uri uriSMSURI = Uri.parse("content://sms/inbox");
Cursor cur = getContentResolver().query(uriSMSURI, null, null, null, null);
List<Map<String, String>> data = new ArrayList<>();
ArrayList<String> numlist = new ArrayList<String>();
while (cur.moveToNext()) {
String num = cur.getString(2);
num = num.replace("+639", "09");
if (!numlist.contains(num)) {
numlist.add(num);
inboxmsg.add(cur.getString(cur.getColumnIndexOrThrow("body")));
inboxmsgdate.add(cur.getString(cur.getColumnIndexOrThrow("date")));
} }
String datafromoutbox=getOutbox(numlist.get(0));
}
private String getOutbox(String recipient){
Uri uriSMSURI = Uri.parse("content://sms/sent");
Cursor cur = getContentResolver().query(uriSMSURI, null, "address='"+recipient+"'", null, null);
cur.moveToNext();
String d=cur.getString(cur.getColumnIndexOrThrow("body"));
return d;
}
上面的代碼崩潰了我的應用程序。問題出在查詢「address ='」+ recipient +「'」查詢。但如果我將其更改爲「address ='0912344567'」。如果有人能幫助我。
發佈堆棧跟蹤。 – JoxTraex
@ FrankN.Stein是我特意做的,表明我有單引號和雙引號。但用我的真實代碼,他們之間沒有空格。 –
@ FrankN.Stein OP更新。 :) –