【问题标题】:Adding a number into Contacts works on emulator but not on device将号码添加到联系人中适用于模拟器,但不适用于设备
【发布时间】:2010-10-26 06:32:07
【问题描述】:

我已经编写了代码,以便在使用应用程序时在通讯录中添加一个号码。

    ContentResolver cr = getContentResolver();
    Uri phoneUri = null;
    ContentValues values = new ContentValues();
    values.put(People.NAME, "stack");

    Uri uri = getContentResolver().insert(People.CONTENT_URI, values);
    phoneUri = Uri.withAppendedPath(uri, People.Phones.CONTENT_DIRECTORY);
    values.clear();
    values.put(People.Phones.TYPE, People.Phones.TYPE_MOBILE);
    values.put(People.Phones.NUMBER, "9879958170");
    getContentResolver().insert(phoneUri, values);

甚至在 .manifest 文件中添加了权限。

<uses-permission android:name="android.permission.READ_CONTACTS"
    android:enabled="true" />
<uses-permission android:name="android.permission.WRITE_CONTACTS"
    android:enabled="true" />

这是在模拟器上工作,联系人被添加但是..当我将此应用程序放入设备时....没有与名称堆栈的联系人...

谁能帮助我,如果我做错了,请告诉我。

提前致谢:)

【问题讨论】:

    标签: android android-contacts


    【解决方案1】:

    你有什么手机?一些手机(例如三星)安装了修改后的联系人应用程序,也许这就是原因。

    【讨论】:

    • samsung...我只是想知道我编写的代码已弃用...我想要已弃用的代码...??
    【解决方案2】:

    您的手机运行的是哪个版本的 android?您在这里使用的是旧的联系人 API,如果您的手机运行的是 Eclair 或更好,虽然这些 api 调用在技术上应该仍然有效,但不推荐使用它们。尤其是当我们谈论制造商定制的手机应用程序时,结果可能有点不可预测。

    此外,有时如果您不将您的联系人添加到“我的联系人”系统组中,该联系人将不会出现在联系人应用程序中。并非每个联系人应用程序都是如此,但我已经看到在少数情况下会发生这种情况。

    请提供更多信息,以便我们正确回答您的问题。 (手机型号、运行的安卓版本等)

    【讨论】:

    • 手机型号-->三星安卓版--->android2.1
    • 我猜你的意思是 Galaxy S?是的,我肯定会建议切换到新的 ContactsContract api,而不是您现在使用的旧的 Contacts (People) api。我还没有在 Galaxy S 上测试过旧 API,但我怀疑它无法与帐户正确交互。
    • 另一种可能性是您实际上没有在该手机上设置 Google 帐户。确保也检查一下。旧的联系人 api 仅与手机上的第一个 Google 帐户交互。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-01
    • 2011-03-08
    • 2015-02-13
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多