在Android 1.6上向用户显示预填充的联系人屏幕

时间:2013-03-07 07:54:52

标签: android contacts

我有以下项目要求。

当用户在其清单中获得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);

任何帮助都将受到高度赞赏。

由于

enter image description here

1 个答案:

答案 0 :(得分:1)

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

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);
}