2010-07-03 134 views
12

嗨即時嘗試將電話號碼添加到Android 2.1上的現有聯繫人。即時通訊目前使用:android編輯聯繫人

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

+0

是否代碼在真實設備上給出與仿真器相同的錯誤 – sehugg 2010-09-13 15:40:27

+0

'Phone'已棄用於Android 2.1 ....使用'ContactsContract' – 2010-09-20 05:48:14

回答

1

你有設置在AndroidManifest.xml正確的權限?據我所知,個人信息(聯繫人)的訪問權限受到默認限制。

看到here更多關於許可制度的Android

+0

一組設置: <使用權限android:name =「android.permission.GET_ACCOUNTS」 /> \t \t ng93 2010-07-07 12:15:31

+0

抱歉,我忍不住...我希望你現在解決了你的問題 請讓我們知道問題出在哪裏? – Mark 2010-07-18 21:07:31

1

您還可能要檢查你安裝的應用程序VS程序存儲器。我的Droid Eris在聯繫人和任何聯繫人識別應用程序方面工作良好。

直到我過去了一些內存負載點。 VZW支持第一級對我沒有好處,我不得不堅持二級支持。最後從知道他菠菜的人那裏得到答案。他告訴我,手機上有太多的應用程序,而這是一個已知的問題。
還是沒把我的工作定了下來,足以讓聯繫人編輯:-(

/S/BezantSoft

+0

我的問題是電話聯繫人和我的谷歌賬戶中的聯繫人。 我不確定HTC Eris(Android)2.1對VZW給我的建議的完全相關性。我確實接受了「刪除應用程序」協議,並沒有在很大程度上提升我的「聯繫編輯」能力。 當然,作爲FOSS的用戶和開發者,我已經安裝並卸載了一大堆應用程序。這可能與事情有關。 – BezantSoft 2010-09-25 00:08:10

+0

昨晚我在手機上做了一個硬復位。這並不困難。我現在有聯繫人編輯,如果問題再次出現,我會在這裏更新。 但是,在線PDF(可能v1.5/1.6)上的指示與v2.1手機不匹配: – BezantSoft 2010-09-25 00:49:02

+0

手動: 重置手機 1.按HOME> MENU,然後點擊設置>安全>工廠數據重置。 ----- 隨着2。1,我發現: 主頁> MENU然後設置>隱私>工廠數據重置 然後您會看到出廠重置警告對話框。 – BezantSoft 2010-09-25 00:50:34

3

工作插入Data.CONTENT_URI,而不是Phone.CONTENT_URIPhone.CONTENT_ITEM_TYPE插入Data.MIMETYPE列。