11

とにかく通話ログデータベースに書き込むことは可能ですか?? 選択した番号を通話履歴に追加したいということです。ネットでチュートリアルを検索してみましたが、何も見つかりませんでした... 1つ確かなことはありますが、それはできる. 通話ログを復元する多くのアプリケーションをオンラインで見たことがあるので、通話履歴データベースを何らかの方法で変更できると思います (ただし、正確な方法はわかりません)。

私はすでにこの投稿を読んでいますが、たまたまずっと前に投稿されたものです。

どんな助けでも大歓迎です!ありがとう!

4

2 に答える 2

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);
}

(コードは Android 用 Google Voice Callbackから取得)

マニフェストにアクセス許可を追加することを忘れないでください

<uses-permission
    android:name="android.permission.READ_CONTACTS"/>
<uses-permission
    android:name="android.permission.WRITE_CONTACTS"/>
于 2011-03-20T16:48:31.953 に答える
1

リンクされた投稿はそれを非常によく説明しているので、なぜあなたが再び尋ねているのかわかりません. 独自のデータベースまたは独自のファームウェアを保持しない限り、通話ログを変更することはできません。

于 2010-07-02T13:27:58.387 に答える