Android: как активировать намерение CallDetailActivity?

Я новичок в Android, как запустить намерение CallDetailActivity?

Из ЛогКэт:

Намерение {dat=content://call_log/calls/48 cmp=com.android.contacts/.CallDetailActivity}

48 — это идентификатор из CallLog.

Как создать намерение запустить событие, как указано выше? данный идентификатор

С уважением,

Джонни


person Johnny    schedule 09.08.2011    source источник


Ответы (2)


Создайте ACTION_VIEW Intent с Uri для вызова. Если у вас есть только идентификатор, попробуйте использовать ContentUris и withAppendedId(), чтобы добавить свой идентификатор в CallLog.Calls.CONTENT_URI.

person CommonsWare    schedule 09.08.2011

на основе решения, предоставленного CommonsWare, вот код: он извлечет последнюю запись в журнал и откроет действие сведений о вызове.

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);
person A.Alqadomi    schedule 06.05.2013