открыть форму изображения встроенная галерея - PullRequest
0 голосов
/ 20 августа 2011

Я прочитал эту ссылку: программно открыть изображение во встроенном приложении Android для Android Получить / выбрать изображение из встроенного приложения Android в галерее , и код выглядит хорошо.

Это приводит к следующему изображению: http://i.stack.imgur.com/vz3S8.png,, но это не тот результат, который я хочу.

Я хочу открыть галерею, похожую на: http://i.stack.imgur.com/ZoUvU.png. Я хочу выбрать картинку из галереи папок.

Знаете ли вы, как изменить код?

Я использовал:

Intent intent = new Intent();
intent.setComponent(new ComponentName("com.android.gallery", "com.android.camera.GalleryPicker"));

//   intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);

Log.i("aa","adafdsfa");
startActivityForResult(intent, 1);

Через него я получаю галерею папок, но не могу получить путь к картинке.

1 Ответ

1 голос
/ 27 ноября 2011
 File dir = new File(Environment.getExternalStorageDirectory().toString() + "/sdcard/yourfolder");
        Log.d("File path ", dir.getPath());
        String dirPath=dir.getAbsolutePath();
        if(dir.exists() && dir.isDirectory()) {
            Intent intent = new Intent(Intent.ACTION_VIEW);
            // tells your intent to get the contents
            // opens the URI for your image directory on your sdcard
                            //its upto you what data you want image or video.
            intent.setType("image/*");
        //  intent.setType("video/*");
            intent.setData(Uri.fromFile(dir));
        //  intent.setType("media/*");
        //  intent.
            startActivityForResult(intent, 1);
        }
        else
        {
            showToast("No file exist to show");
        }   


      protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);

     if (requestCode == 1) {
         if (data==null) {
            showToast("No image selected");
            //finish();
        }
         else
         {
         Uri selectedImageUri = data.getData();

      //  String filemanagerstring = selectedImageUri.getPath();

         //MEDIA GALLERY
       String  selectedImagePath = getPath(selectedImageUri);

         if(selectedImagePath!=null)
         {
             Intent intent = new Intent();
             intent.setAction(Intent.ACTION_VIEW);
             intent.setData(selectedImageUri);
             startActivity(intent);
         }

         else
         {
             showToast("Image path not correct");
         }


     }
        }

}
...