2011-01-03 16 views
0

ACTION_PICKインテントを使用するプリファレンス設定を追加したいとします。私の目標は、電話で連絡先の電話番号を取得することです。これは可能ですか?ダイアログプリファレンスから連絡先を選択する必要があります

アクティビティからこのコードを実行できますが、DialogPreferenceのクラスから実行できないことがわかりました。

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

それともPreferenceから新しいActivityを開始する方法はありますか?その後、Activityは上記の2行のコードを実行できますか?あなたが使用している場合

答えて

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

どのように連絡先の電話番号を取得できますか? – Gavriel

0

あなたは、あるpreferences.xmlに「...プリファレンス」として連絡先プリファレンスを定義する必要があり、「EditTextPreference ...」テキスト編集ダイアログが表示され、これはこのケースで便利ではありません。

関連する問題