0
サイト全体で利用可能ないくつかのコードを使用して、ギャラリーインテントを呼び出す小さなアプリケーションを構築し、画像が選択されたときにパスを取り戻します。Android:インテントでギャラリーを呼び出し、画像を選択
public class SDCardImagesActivity extends Activity {
final int REQ_CODE_PICK_IMAGE= 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.header);
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, REQ_CODE_PICK_IMAGE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode) {
case REQ_CODE_PICK_IMAGE:
if(resultCode == RESULT_OK){
Uri selectedImage = data.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();
Bitmap yourSelectedImage = BitmapFactory.decodeFile(filePath);
Toast.makeText(SDCardImagesActivity.this, "selected", 2000).show();
}
}
}
}
しかし、私はこのプログラムを実行すると、私は誰かが私を助けることができる例外
08-09 15:12:53.191: ERROR/AndroidRuntime(26694): Caused by: android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
以下ます。前もって感謝します。
画像があります。画像を選択すると、この例外だけがスローされます。 Arrayoutofbound :( –
私は自分のアプリケーションを使って作成した画像にアクセスしようとしていましたが、そのためのアクセス権がないようです。ネイティブカメラで撮影した画像を試してみると、魅力的です。 –