android为呼叫日志添加号码

JaV*_*did 11 android calllog

无论如何可以写入调用日志数据库?我的意思是我想将所选数字添加到通话记录中.我尝试在网上搜索教程但找不到任何...虽然有一件事是肯定的,但它可以完成.因为我已经看到很多在线应用程序,它们可以恢复通话记录,所以我想我们可以以某种方式修改通话记录数据库(但我怎么也不清楚).

我已经阅读过这篇文章,但它恰好被贴了很久才回来.

任何帮助将不胜感激!感谢名单!

Rob*_*rdi 17

您可以使用此代码段将新记录添加到现有的呼叫日志内容提供程序:

public static void insertPlaceholderCall(ContentResolver contentResolver, String number){
    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, "");
    Log.d(TAG, "Inserting call log placeholder for " + number);
    contentResolver.insert(CallLog.Calls.CONTENT_URI, values);
}
Run Code Online (Sandbox Code Playgroud)

(代码来自Google Voice Callback for Android)

请记住在Manifest中添加权限

<uses-permission
    android:name="android.permission.READ_CONTACTS"/>
<uses-permission
    android:name="android.permission.WRITE_CONTACTS"/>
Run Code Online (Sandbox Code Playgroud)

  • 好答案.但是你需要<uses-permission android:name ="android.permission.READ_CALL_LOG"/> <uses-permission android:name ="android.permission.WRITE_CALL_LOG"/> (3认同)

Rob*_*ond 1

链接的帖子解释得很好,所以我不知道你为什么又问。除非您保留自己的数据库或自己的固件,否则您无法修改呼叫日志。