4

我的应用程序有问题,

在埃及,他们将为手机号码添加额外的数字以扩展,所以我制作了一个应用程序来将现有号码修改为新号码。

所以基本上我读了所有电话号码,根据一些条件我操纵它们并保存新数据,

我正在使用 adt 插件开发 eclipse,我已经在 emulator 2.2 和 emulator 2.3 上尝试了该应用程序,并且运行良好并修改了所有联系人。

但是当我在我的手机galaxy s android 2.3.5上传输时,它运行时没有保存新的联系人数据,我什至调试查看流程,它工作正常得到所有数字修改它们并保存它们没有错误,但联系人没有更新.

是不是有一定的原因,你能给我更多的想法吗?

我想提供更多信息,我已经在我的手机上安装了 froyo 2.2,但仍然不会保存新的联系号码,虽然它在模拟器上运行得很好,我以这种方式保存联系人:

    ContentResolver cr2 = getContentResolver();

                    String where = Data.RAW_CONTACT_ID + " = ? AND "
                            + String.valueOf(Phone.TYPE) + " = ? ";
                    String[] params = new String[] { id,
                            String.valueOf(type) };


ArrayList<ContentProviderOperation> ops=new ArrayList<ContentProviderOperation>();


                    ops.add(ContentProviderOperation
                            .newUpdate(Data.CONTENT_URI)
                            .withSelection(where, params)
                            .withValue(
                                    ContactsContract.CommonDataKinds.Phone.DATA,
                                    phoneNumber).build());



                    try {
                        cr2.applyBatch(ContactsContract.AUTHORITY,ops);
                    } catch (RemoteException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (OperationApplicationException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

好的伙计们,对不起,我刚接触android,但我发现了错误,我将代码修改为:

ContentResolver cr2 = getContentResolver();

                    String where = Data.CONTACT_ID + " = ? AND " +Data.MIMETYPE + "='" +
                            Phone.CONTENT_ITEM_TYPE + "'" + " AND "
                            + String.valueOf(Phone.TYPE) + " = ? ";
                    String[] params = new String[] { id,
                            String.valueOf(type) };

                    // Cursor phoneCur = managedQuery(Data.CONTENT_URI,
                    // null, where, params, null);

                    ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();

                    ops.add(ContentProviderOperation
                            .newUpdate(Data.CONTENT_URI)
                            .withSelection(where, params).withValue(
                                    Phone.NUMBER,
                                    phoneNumber).build());



                    try {
                        cr2.applyBatch(ContactsContract.AUTHORITY, ops);
                        count++;
                        System.out.println(phoneNumber);
                    } catch (RemoteException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (OperationApplicationException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

所以技术上我添加了mimetype,我曾经更新phone.data所以我也将它更改为phone.number,现在它在2.2 / 2.3.5上工作正常,所以我想这个问题已经结束了,但我还有一个要问的是,读取的联系人不包括 facebook 或 twitter 联系人,是否有读取所有联系人以更新所有联系人,包括 facebook 和 twitter ????

4

1 回答 1

0

您可以做一件事:只需更改项目属性文件并进行编辑target=android-10,然后尝试...

于 2013-03-13T09:05:40.107 回答