我是 android 的超级新手,如何触发 CallDetailActivity 意图?
来自 LogCat:
意图 {dat=content://call_log/calls/48 cmp=com.android.contacts/.CallDetailActivity}
48 是 ID,来自 CallLog。
如何构建触发上述事件的意图?给定 id
问候,
约翰尼
我是 android 的超级新手,如何触发 CallDetailActivity 意图?
来自 LogCat:
意图 {dat=content://call_log/calls/48 cmp=com.android.contacts/.CallDetailActivity}
48 是 ID,来自 CallLog。
如何构建触发上述事件的意图?给定 id
问候,
约翰尼
创建一个ACTION_VIEW
Intent
与Uri
调用。如果您只有 ID,请尝试使用ContentUris
和withAppendedId()
将您的 ID 添加到CallLog.Calls.CONTENT_URI
.
基于 CommonsWare 提供的解决方案,这里是代码:它将检索日志的最新条目并打开 Call Detail Activity
Cursor managedCursor = managedQuery(CallLog.Calls.CONTENT_URI, null, null, null, "DATE DESC");
int id=0;
if (managedCursor.moveToNext()) {
id = managedCursor.getInt(managedCursor.getColumnIndex(CallLog.Calls._ID));
}
managedCursor.close();
Intent showCallLog = new Intent();
showCallLog.setAction(Intent.ACTION_VIEW);
Uri uri = ContentUris.withAppendedId(CallLog.Calls.CONTENT_URI, id);
showCallLog.setData(uri);
startActivity(showCallLog);