Android select image from gallery in PreferenceScreen?

How can I select an image from the gallery in the Android PreferenceScreen menu?

xml code of my PreferenceScreen menu:

<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <Preference android:key="select_image" android:title="select image"> </PreferenceScreen> 
+4
source share
1 answer

I finally found the answer

first set setOnPreferenceClickListener

 Preference prefereces=findPreference("test"); prefereces.setOnPreferenceClickListener (new Preference.OnPreferenceClickListener(){ public boolean onPreferenceClick(Preference preference){ Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); int PICK_IMAGE = 1; startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE); return true; } }); 

than get it in onActivityResult

 protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { super.onActivityResult(requestCode, resultCode, imageReturnedIntent); if(resultCode == RESULT_OK){ Uri selectedImage = imageReturnedIntent.getData(); String[] filePathColumn = {MediaStore.Images.Media.DATA}; Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null); cursor.moveToFirst(); int columnIndex = cursor.getColumnIndex(filePathColumn[0]); String filePath = cursor.getString(columnIndex); cursor.close(); Log.d(LOG_TAG, "Data Recieved! " + filePath); } 
+10
source

All Articles