0

我有以下项目要求。

当用户android.permission.WRITE_CONTACTS在他的清单中授予权限时,我们应该以编程方式添加联系人。(这部分已经完成并且工作完美)。

现在的挑战是,如果用户没有授予此权限,那么我将无法以编程方式添加联系人,但我想尽最大努力向他展示预填充的联系人屏幕并让他按下添加按钮。

我在 Android 2.0 及更高版本上运行它。但我面临使它在 android 1.6 设备上运行的问题。

以下是适用于 Android 2.0 及更高版本的代码。

        Intent i = new Intent(ContactsContract.Intents.Insert.ACTION,
                ContactsContract.Contacts.CONTENT_URI);
        i.putExtra(ContactsContract.Intents.Insert.NAME, "Vipul Shah");
        i.putExtra(ContactsContract.Intents.Insert.PHONE, "1234");

        startActivity(i);

任何帮助将不胜感激。

谢谢

在此处输入图像描述

4

1 回答 1

1

这是因为ContactsContract仅存在于 API5+ (Android 2.0) 环境中。

pre-API5 中的相关类被调用Contacts

if (android.os.Build.VERSION.SDK_INT > 5)
    Intent i = new Intent(ContactsContract.Intents.Insert.ACTION,
            ContactsContract.Contacts.CONTENT_URI);
    i.putExtra(ContactsContract.Intents.Insert.NAME, "Vipul Shah");
    i.putExtra(ContactsContract.Intents.Insert.PHONE, "1234");

    startActivity(i);
} else {
    Intent i = new Intent(Contacts.Intents.Insert.ACTION,
             People.CONTENT_URI);
    i.putExtra(Contacts.Intents.Insert.NAME, "Vipul Shah");
    i.putExtra(Contacts.Intents.Insert.PHONE, "1234");

    startActivity(i);
}
于 2013-03-07T09:10:43.817 回答