我的目标是从通话记录中收集所有未知的电话号码.这可以通过以下代码实现:
private static final String[] CALLOG_PROJECTION = {CallLog.Calls._ID,
CallLog.Calls.CACHED_NAME, CallLog.Calls.NUMBER};
private static final String CALLOG_WHERE = CallLog.Calls.CACHED_NAME + " is null";
Cursor c = getContentResolver().query(CallLog.Calls.CONTENT_URI, CALLOG_PROJECTION,
CALLOG_WHERE, null, CallLog.Calls.DATE + " DESC");
Run Code Online (Sandbox Code Playgroud)
这很有效,但在我创建了一个来自未知号码的联系人后,查询结果仍然包含未知号码.
如果我打开"呼叫记录"活动窗口,我可以看到数字在几秒钟内更改为联系人姓名.因此,该活动会刷新CACHED_NAME列.
我的问题是,我如何以编程方式刷新(实现)呼叫记录?