确定用户是选择还是创建联系人

时间:2014-07-16 09:59:16

标签: android contacts contactscontract

我的用户可以创建或选择我的应用程序:

Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT);
                intent.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);
                intent.putExtra(ContactsContract.Intents.Insert.NAME,
                        user.getName());
                intent.putExtra(INTENT_KEY_FINISH_ACTIVITY_ON_SAVE_COMPLETED,
                        true);
                startActivityForResult(intent, ADD_CONTACT);

然后在onActivityResult:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (data == null) {
            Log.e(TAG, "DATA NULL");
            return;
        }
        if (requestCode == ADD_CONTACT) {
            if (resultCode == RESULT_OK) {
                //QUESTION HERE
                Uri contactData = data.getData();
                Cursor c = getContentResolver().query(contactData, null, null,
                        null, null);

            } else {
                Log.e(TAG, "RESULT NOT OK!");
            }
        }
    }

问题:如果用户创建或选择了现有联系人,有没有办法决定? :)

2 个答案:

答案 0 :(得分:1)

您可以在用户操作之前和之后获取联系人数量(使用此how many contacts in contact list)。而不仅仅是比较。

答案 1 :(得分:0)

如果您不需要有关更改/添加联系人的信息,您可以保留联系人的计数。

如果您需要更改/添加的内容you can check for this answer for observer

希望这有帮助