androidcalllog

Writing call log in an Android device


I have created a fake caller, and one place I'm stuck is writing the call logs.

Can someone explain how to write a call log and what permissions are required for this?

I found an answer at How can I update the contents of an entry in the Call Log? but in that answer the term OsmoService is not defined. I'm not able to understand if that is a predefined class or user defined class.

Your help will be very appreciated. Thank you


Solution

  • May this help you:

    Add this permission in your AndroidManifest.xml:

    <uses-permission
        android:name="android.permission.READ_CALL_LOG"/>
    <uses-permission
        android:name="android.permission.WRITE_CALL_LOG"/>
    

    Code:

    ContentValues values = new ContentValues();
    values.put(CallLog.Calls.NUMBER, number);
    values.put(CallLog.Calls.DATE, System.currentTimeMillis());
    values.put(CallLog.Calls.DURATION, 0);
    values.put(CallLog.Calls.TYPE, CallLog.Calls.OUTGOING_TYPE);
    values.put(CallLog.Calls.NEW, 1);
    values.put(CallLog.Calls.CACHED_NAME, "");
    values.put(CallLog.Calls.CACHED_NUMBER_TYPE, 0);
    values.put(CallLog.Calls.CACHED_NUMBER_LABEL, "");
    context.getContentResolver().insert(CallLog.Calls.CONTENT_URI, values);