2010-07-03 95 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列。