2014-10-20 121 views
0

我有这样的代码:如何从uri获取图像ID?

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    Button play= (Button) findViewById(R.id.play); 
    play.setVisibility(1); 
    if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK 
      && null != data) { 
     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 picturePath = cursor.getString(columnIndex); 
     cursor.close(); 
     ImageView imageView = (ImageView) findViewById(R.id.imgView); 
     imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath)); 
    } 
} 
public void Play(View view){ 
    int[] mImageIds = {R.id.imgView}; 
    Intent intent = new Intent(this, PuzzleSelectActivity.class); 
    intent.putExtra("images", mImageIds); 
    this.startActivity(intent); 
} 

我想从保护无效onActivityResult获得图像ID,并通过它的mImageIds ...

+0

你提供正确的权限? 这一个你需要<使用权限的android:name =“android.permission.INTERNET”/> – 2014-10-20 05:43:46

+0

y ...我把正确的权限.. <使用权限android:name =“android.permission.WRITE_EXTERNAL_STORAGE “/> – 2014-10-20 06:03:26

回答

0
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    super.onActivityResult(requestCode, resultCode, data); 
    if (resultCode == RESULT_OK) 
    { 
    Uri imageUri = data.getData(); 
    Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri); 
    ImageView imageView = (ImageView) findViewById(R.id.imgView); 
    imageView.setImageBitmap(bitmap); 
    } 
} 

Get Bitmap from an Uri [android]