How to access MISSED_CALL Log in Android

狂风中的少年 提交于 2019-12-13 04:02:37

问题


I am developing an app in which i want to access MISSED_CALL log. Using below code....

private Cursor getItemsToSync() {
G = "Log method accessing";
ContentResolver r = getContentResolver();

String selections = String.format("%s > ?", CallLog.Calls.DATE,CallLog.Calls.MISSED_TYPE);
String[] selectionArgs = new String[] { String.valueOf(getMaxSyncedDate())};
String sortOrder = SmsConsts.DATE + " LIMIT " + PrefStore.getMaxItemsPerSync(this);
N = CallLog.Calls.CACHED_NAME;
return r.query(Uri.parse("content://call_log/calls"), null,selections,selectionArgs, sortOrder);}

its provide All Call Log. Please suggest me how to get only MISSED_CALL Call log. Thanks in advance


回答1:


String[] strFields = {android.provider.CallLog.Calls.CACHED_NAME, android.provider.CallLog.Calls.NUMBER,android.provider.CallLog.Calls.DATE, android.provider.CallLog.Calls.TYPE
    };
    String strOrder = android.provider.CallLog.Calls.DATE + " DESC";

    Cursor mCallCursor = getContentResolver().query(android.provider.CallLog.Calls.CONTENT_URI,strFields, null, null, strOrder);

    if (mCallCursor.moveToFirst()) {

        do {

            boolean missed = mCallCursor.getInt(mCallCursor.getColumnIndex(CallLog.Calls.TYPE)) == CallLog.Calls.MISSED_TYPE;

            if (missed) {

                String name = mCallCursor.getString(mCallCursor
                        .getColumnIndex(CallLog.Calls.CACHED_NAME));

                String number = mCallCursor.getString(mCallCursor
                        .getColumnIndex(CallLog.Calls.NUMBER));
Log.d("PhoneLog", "You have a missed call from " + name + " on " + number // + " at " + time); }

        } while (mCallCursor.moveToNext());

    }


来源:https://stackoverflow.com/questions/17171411/how-to-access-missed-call-log-in-android

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!