在联系人中添加号码适用于模拟器,但不适用于设备

时间:2010-10-26 06:32:07

标签: android android-contacts

我已经编写了代码,可以在使用应用程序时在联系簿中添加数字。

    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" />

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

任何人都可以帮助我,如果我犯了任何错误,请告诉我。

提前致谢:)

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您的手机运行的是什么版本的Android?你在这里使用旧的联系人API,如果你的手机正在运行Eclair或更好,虽然这些api调用仍然在技术上仍然有效,但不建议使用它们。特别是当我们谈论制造商定制的手机应用程序时,结果可能有点不可预测。

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

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