Skip to main content

Adding Call log entries in Native Call Logs


While adding call logs we can set number in CallLog.Calls.NUMBER field , same for date  and duration.

CallLog.Calls.CACHED_NAME will be filled with the cached name in case if the number is already saved in Contacts database.


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); //Type of call Outgoing/Incoming/Missed etc
values.put(CallLog.Calls.NEW, 1);
values.put(CallLog.Calls.CACHED_NAME, "");
values.put(CACHED_NUMBER_TYPE, 0);
values.put(CACHED_NUMBER_LABEL, "");
this.getContentResolver().insert(CallLog.Calls.CONTENT_URI, values);


Below Permissions are required to add call logs , add it in Manifest file,

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

Comments

Popular posts from this blog

Launch an Android application on Bootup

If you want to start an android application on device restarts, you need to listen for BOOT_COMPLETED broadcast in the manifest file and launch the Launcher activity in onreceive of BOOT_COMPLETED broadcast receiver. Follow below steps to launch activity on device boot up :- 1. Register for Boot completed receiver in Android Manifest file. Add below Permission to receive BOOT_COMPLETED broadcast, <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> Register for Boot completed broadcast receiver , <receiver android:name="AppAutostartReceiver" android:enabled="true" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> 2. Add custom Broadcast receiver in the application, public class AppAutostartReceiver extends BroadcastReceiver { @Override public void onReceive(Context cont...

Working with Android Shared Preferences

          Shared preferences allows android application to save data in the form of "Key-Value" pair, shared preferences will be an , XML file which will be stored in applications internal storage space under " shared_prefs " folder under data/data/(package name of the application) . Shared Preferences won't clear data after "force close" of an application, it will get cleared only in case of user clears the application data (under settings -> apps -> clear Data) or uninstall an application. Shared preferences can be edited using SharedPreferences.Editor class. APIs to access shared preference below, getDefaultSharedPreferences()  :- Return default shared preference file which is used by PrefrenceManager in the given context. getSharedPreferences(String my_prf_name, int mode) :- Returns shared preference file of the given name. Below are  sample code snippets, 1. Saving data in to the shared preferences, //Retrieve shared prefere...