Android 選擇圖片 相冊選擇 馬上拍照
public class MainActivity extends Activity implements OnClickListener {private ImageView iv; private int SELECT_PICTURE = 1; // 從圖庫中選擇圖片 private int SELECT_CAMER = 2; // 用相機拍攝照片 private Bitmap bmp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { iv = (ImageView) findViewById(R.id.imageView1); iv.setOnClickListener(this); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { Uri uri = data.getData(); ContentResolver cr = this.getContentResolver(); try { if (bmp != null) { bmp.recycle(); bmp = BitmapFactory.decodeStream(cr.openInputStream(uri)); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } iv.setImageURI(uri); } else { Toast.makeText(MainActivity.this, "選擇圖片失敗,請重新選擇", Toast.LENGTH_SHORT) .show(); } } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.imageView1: showChoosePhotoDialog(); break; default: break; } } private void showChoosePhotoDialog() { CharSequence[] items = { "相冊", "相機" }; AlertDialog dialog = new AlertDialog.Builder(this) .setTitle("選擇圖片來源") .setItems(items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub if (which == SELECT_PICTURE) { Intent intent = new Intent( MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, SELECT_CAMER); } else { Intent intent = new Intent( Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("image/*"); startActivityForResult(intent, SELECT_PICTURE); } } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub dialog.cancel(); } }).create(); dialog.show(); }
}</pre>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!