以下代码应返回通话记录中的最后一个电话号码。
它主要起作用,但有时它不会返回最后一个电话号码,而是最后一个。如果我检查呼叫列表,我可以清楚地看到返回的号码不是历史记录中的最后一个。再次运行程序将返回最后一个("正确的#34;)号码。
任何人都能说出错误吗?
private String getPhoneNumber() {
String[] projection = {CallLog.Calls.NUMBER};
Cursor callLog = getContentResolver().query(
CallLog.Calls.CONTENT_URI,
projection,
null,
null,
CallLog.Calls.DEFAULT_SORT_ORDER
);
// Set number
callLog.moveToFirst();
return callLog.getString(callLog.getColumnIndex(CallLog.Calls.NUMBER));
}