12

こんにちは、Android2.1の既存の連絡先に電話番号を追加しようとしています。私は現在使用しています:

ContentValues values = new ContentValues();
values.put(Phone.RAW_CONTACT_ID,cursor.getColumnIndex(Phone.CONTACT_ID));
String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '1'";
ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,null, selection, null,ContactsContract.Contacts.DISPLAY_NAME+" COLLATE LOCALIZED ASC");
if (cursor.getCount() > 0) {
    cursor.moveToPosition(oldcontactid);
    contactid = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
    values.put(Phone.RAW_CONTACT_ID,cursor.getColumnIndex(Phone.CONTACT_ID));
    if (Integer.parseInt(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
        Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",new String[]{contactid}, null);
        while (pCur.moveToNext()) {
            values.put(Phone.NUMBER,pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
            values.put(Phone.TYPE, Phone.TYPE_MOBILE);
        }
        pCur.close();
    }
}
Uri uri = getContentResolver().insert(Phone.CONTENT_URI, values);

しかし、エラーが発生します:

java.lang.UnsupportedOperationException: Unknown uri: content://com.android.contacts/data/phones

どうすればこれを修正できますか?

助けてくれてありがとう、ng93

4

4 に答える 4

3

で列を挿入するData.CONTENT_URI代わりに、Phone.CONTENT_URIに挿入します。Data.MIMETYPEPhone.CONTENT_ITEM_TYPE

于 2010-10-02T04:47:00.773 に答える
1

AndroidManifest.xmlで正しい権限を設定しましたか?私の知る限り、個人情報(連絡先)へのアクセスはデフォルトで制限されています。

Androidの許可システムの詳細については、こちらをご覧ください

于 2010-07-06T16:57:32.340 に答える
1

また、インストールされているアプリとプログラムメモリを確認することもできます。私のDroidErisは、連絡先だけでなく、ほとんどすべての連絡先対応アプリケーションからも正常に機能しました。

私がメモリ負荷のあるポイントを通過するまで。VZWサポートの第1レベルは役に立たなかったので、第2レベルのサポートを主張しなければなりませんでした。とうとうほうれん草を知っている人から返事が来ました。彼は、私が電話にあまりにも多くのアプリを持っていて、これは既知の問題であると言った。
連絡先の編集を機能させるのに十分なワーキングセットをまだ削減していません:-(

/ s / BezantSoft

于 2010-09-16T09:06:26.707 に答える