Удалить определенный журнал из журнала вызовов

Я хочу удалить определенную запись из журнала вызовов только один раз.

getActivity().getContentResolver().delete(calluri, queryString, null);

Приведенный выше код удаляет все записи из журнала вызовов.


person Binod Singh    schedule 27.05.2013    source источник
comment
попробуйте удалить журнал вызовов по идентификатору вызова   -  person Dhaval Parmar    schedule 27.05.2013


Ответы (2)


попробуйте удалить журнал вызовов по идентификатору вызова. используйте приведенный ниже код

int res = Call_logs.this.getContentResolver().delete(android.provider.CallLog.Calls.CONTENT_URI,"_ID = "+ calls_id_list.get(i),null);
        if (res == 1) {
            // Log delete

        } else {
            // Log not Delete

        }

чтобы удалить весь журнал вызовов:

Uri uri = Uri.parse("content://call_log/calls");

int d  = getContentResolver().delete(uri, null, null);
person Dhaval Parmar    schedule 27.05.2013
comment
Спасибо, и чтобы получить список вызовов, мы можем использовать String[] strFields = { android.provider.CallLog.Calls.NUMBER, android.provider.CallLog.Calls._ID, android.provider.CallLog.Calls.TYPE, android.provider.CallLog .Calls.CACHED_NAME, android.provider.CallLog.Calls.CACHED_NUMBER_TYPE }; Строка strOrder = android.provider.CallLog.Calls.DATE + DESC; Курсор mCallCursor = mainCntx.getContentResolver().query(android.provider.CallLog.Calls.CONTENT_URI, strFields, null, null, strOrder); - person Binod Singh; 27.05.2013

ШАГ 1. Убедитесь, что у вас есть следующие разрешения в файле manifast.xml:

<uses-permission android:name="android.permission.READ_CONTACTS" /> 
<uses-permission android:name="android.permission.WRITE_CONTACTS" />

ШАГ 2: И для удаления журналов вызовов для определенного номера:

public void deleteCallLogByPhoneNumber(String number) {   

    String queryString="NUMBER="+number; 
    this.getContentResolver().delete(CallLog.Calls.CONTENT_URI,queryString,null);

}  
person jazzbpn    schedule 28.12.2016