ギャラリーから写真を撮りたいのですが、Android アプリケーションを使用するために「ID」を付けたいと思っています。
質問する
124 次
2 に答える
1
ボタンをクリックしても、次のコードを呼び出します....
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, GET_IMAGE);
そして、アクティビティの結果に次のコードを書きます:
if (requestCode == GET_IMAGE) {
targetUri = data.getData();
imageView.setImageURI(targetUri);
}
どこ、private static final int GET_IMAGE = 2;
于 2012-07-23T09:15:56.537 に答える
0
以下のコードを試すことができます
btnChoosePhoto.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(i, 1);
}
});
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK && requestCode == 1 ) {
final Uri selectedImage = data.getData();
try {
bitmap = Media.getBitmap(getContentResolver(),selectedImage);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, bytes);
//path = selectedImage.getEncodedPath();
// create new file to write the encrypted bytes of image in file
File f = new File(Environment.getExternalStorageDirectory()
+ File.separator
+ filename);
f.createNewFile();
FileOutputStream fo = new FileOutputStream(f);
fo.write(bytes.toByteArray());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
imageView.setImageBitmap(bitmap);
}
}
于 2012-07-23T09:19:34.957 に答える