2011-01-11 7 views
5

私はSDカードのPicturesフォルダにいくつかの保存された画像を持っています。自分のフォルダの画像に直接アクセスしたいのですが。どのようにアンドロイドの特定の画像フォルダのためのギャレーThumbnailを取得するには?

以下のコードを使用してギャラリー画像を直接選​​択しました。

Intent intent = new Intent(Intent.ACTION_PICK); 

intent.setDataAndType(Uri.parse("file:///sdcard/Pictures/"), "image/*"); 

startActivityForResult(intent, 1); 

上記のコードは、すべての画像をSDカードから取得しています。しかし、私は自分のPicturesフォルダだけが必要です。私はIntent.ACTION_GET_CONTENTも同じ結果を試しました。

誰でも私を修正してください。

ありがとうございます。

+0

あなたは答えを得ましたか? – PiyushMishra

答えて

0

これは、私は、これはルートフォルダを読み込み、SDカードから

Intent intent = new Intent(); 
intent.setType("image/*"); 
intent.setAction(Intent.ACTION_GET_CONTENT); 
startActivityForResult(Intent.createChooser(intent, "Select Picture"),JobActivity.SELECT_PHOTO); 

注画像を選択するために使用するコードです。

写真を選択すると、画像を取得できるonActivityResultメソッドが呼び出されます。

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    try { 
     if (resultCode == RESULT_OK) { 
      if (requestCode == JobActivity.SELECT_PHOTO) { 
       Uri selectedImageUri = data.getData(); 
       String selectedImagePath = getPath(selectedImageUri); 
       getBitmap(selectedImagePath, 0); 
       // Log.d("Debug","Saved...." + selectedImagePath); 
      } 
     } 
    } catch (Exception e) { 
     Log.e("Error", "Unable to set thumbnail", e); 
    } 
} 

ビットマップ

public Bitmap getBitmap(String path, int size) { 
    BitmapFactory.Options options = new BitmapFactory.Options(); 
    options.inSampleSize = size; 
    Bitmap bitmap = BitmapFactory.decodeFile(path, options); 
    return bitmap; 
} 

を取得するには、Getパス方式

public String getPath(Uri uri) { 

    Cursor cursor = null; 
    int column_index = 0; 
    try { 
     String[] projection = { MediaStore.Images.Media.DATA }; 
     cursor = managedQuery(uri, projection, null, null, null); 
     column_index = cursor 
     .getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
     cursor.moveToFirst(); 
    } catch (Exception e) { 
     Log.d("Error", "Exception Occured", e); 

    } 

    return cursor.getString(column_index); 
} 

そして最後にサイズ変数が要因で、画像の拡大縮小が可能になります。拡大縮小したくない場合は、単にoptionsパラメータを削除してください。

私はそれがルート以外の別のフォルダから選択する方法をよく分かりません。

こちらも便利な投稿ですGet/pick an image from Android's built-in Gallery app programmatically

関連する問題