需要从对话框首选项中选择联系人

时间:2011-01-03 16:49:49

标签: android

我想添加一个使用ACTION_PICK意图的偏好设置。我的目标是使用偏好获取手机中联系人的电话号码。这可能吗?

我可以从我的活动中运行此代码,但我发现我无法从扩展DialogPreference的类中运行它。

Intent intentContact = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); 
startActivityForResult(intentContact, PICK_CONTACT); 

或者有没有办法从Activity开始新的Preference?那么Activity可以执行上面两行代码吗?

2 个答案:

答案 0 :(得分:2)

    // Get Custom contact Pref
    Preference customContact = (Preference)findPreference("custom_contact");
    customContact.setOnPreferenceClickListener(new OnPreferenceClickListener() {

        @Override
        public boolean onPreferenceClick(Preference preference) {
            Intent i = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
            startActivityForResult(i, PICK_CONTACT);
            return true;
        }
    });

答案 1 :(得分:0)

您必须在preferences.xml中将联系人首选项定义为“Preference ...”,如果您使用“EditTextPreference ...”,则会显示文本编辑对话框,在这种情况下这不方便。