public void reasonAdd(View v) { final String [] strs=new String[]{"拍照","相冊"}; AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setTitle("照片"); builder.setItems(strs, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //拍照可以用兩種方法來實現 //1.調用系統相機 2.自定義相機 if (which==0) { Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent,1); } //調用系統相冊 if (which==1) { Intent intent=new Intent(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("p_w_picpath/*"); intent.putExtra("crop", "true"); intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); intent.putExtra("outputX", 80); intent.putExtra("outputY", 80); intent.putExtra("return-data", true); startActivityForResult(intent, 0); } } }); builder.show(); } // 寫一個方法來實現相機 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(resultCode== Activity.RESULT_OK) { String sdStatus= Environment.getExternalStorageState(); if(!sdStatus.equals(Environment.MEDIA_MOUNTED)) { Log.i("TestFile", "SD card is not avaiable right now"); return; } String name= Calendar.getInstance(Locale.CANADA)+".jpg"; Bundle bundle=data.getExtras(); FileOutputStream b=null; // 實現設置圖片的大小,然后顯示 Intent intent1=new Intent("com.android.camera.actioin.CROP"); intent1.putExtra("crop","true"); intent1.putExtra("outputX",250); intent1.putExtra("outputY", 250); intent1.putExtra("aspectX",1); intent1.putExtra("aspectY", 1); Bitmap source= (Bitmap) bundle.get("data"); file=new File("/sdcard/myp_w_picpath/"); file.mkdir(); String Filename="/sdcard/myp_w_picpath/"+name; try { b=new FileOutputStream(Filename); source.compress(Bitmap.CompressFormat.JPEG,100,b); b.flush(); b.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } leave_iv_icon.setImageBitmap(source); icon=source; }else if(resultCode==0) { Bitmap cameraBitmap = (Bitmap) data.getExtras().get("data"); leave_iv_icon.setImageBitmap(cameraBitmap); icon=cameraBitmap; } }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。