日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

android 调用系统的照相机和图库

發布時間:2025/5/22 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 调用系统的照相机和图库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

???????????????? android手機有自帶的照相機和圖庫,我們做的項目中有時用到上傳圖片到服務器,今天做了一個項目用到這個功能,所以把我的代碼記錄下來和大家分享,第一次寫博客希望各位大神多多批評。

???????????? 首先上一段調用android相冊和相機的代碼:

??

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//調用android自帶的照相機photoUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;startActivityForResult(intent, 1);

?

Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);//調用android的圖庫startActivityForResult(i, 2);

?

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { //完成照相后回調用此方法
super.onActivityResult(requestCode, resultCode, data);case 1:switch (resultCode) {case Activity.RESULT_OK://照相完成點擊確定
String sdStatus = Environment.getExternalStorageState();????

????????????? if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 檢測sd是否可用?????

????????????????? Log.v("TestFile",??????? "SD card is not avaiable/writeable right now.");?????

???????????????????? return;???? }

????????????? ?Bundle bundle = data.getExtras();????

?????????????????? Bitmap bitmap = (Bitmap) bundle.get("data");// 獲取相機返回的數據,并轉換為Bitmap圖片格式????

??????????????????? FileOutputStream b = null;????

??????????????????????? File file = new File("/sdcard/pk4fun/");????

???????????????????????? file.mkdirs();// 創建文件夾,名稱為pk4fun???? // 照片的命名,目標文件夾下,以當前時間數字串為名稱,即可確保每張照片名稱不相同。網上流傳的其他Demo這里的照片名稱都寫死了,則會發生無論拍照多少張,后一張總會把前一張照片覆蓋。細心的同學還可以設置這個字符串,比如加上“IMG”字樣等;然后就會發現sd卡中myimage這個文件夾下,會保存剛剛調用相機拍出來的照片,照片名稱不會重復。????

??????????????????? String str = null;????

?????????????????? Date date = null;????

??????????????????? SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");// 獲取當前時間,進一步轉化為字符串????

?????????????????????? date = new Date(resultCode);????

???????????????? str = format.format(date);????

???????????????????? String fileName = "/sdcard/myImage/" + str + ".jpg";????

????????????????? sendBroadcast(fileName);????

?????????????????? try {?????

???????????????????? b = new FileOutputStream(fileName);?????

??????????????????? bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把數據寫入文件???

??????????????? ?} catch (FileNotFoundException e) {?????

?????????????????? e.printStackTrace();????

??????????????????? } finally {????

???????????????????? ?try {????

???????????????????? ?b.flush();?????

???????????????????????????? b.close();?????

??????????????????????????? } catch (IOException e) {???

??????????????????????? ?e.printStackTrace();???

???????????????? ? }????

???????????? }???

break;case Activity.RESULT_CANCELED:// 取消break;}break;case 2:switch (resultCode) {case Activity.RESULT_OK: {Uri uri = data.getData();Cursor cursor = mActivity.getContentResolver().query(uri, null,null, null, null);cursor.moveToFirst();String imgNo = cursor.getString(0); // 圖片編號String imgPath = cursor.getString(1); // 圖片文件路徑String imgSize = cursor.getString(2); // 圖片大小String imgName = cursor.getString(3); // 圖片文件名 cursor.close();// Options options = new BitmapFactory.Options();// options.inJustDecodeBounds = false;// options.inSampleSize = 10;// Bitmap bitmap = BitmapFactory.decodeFile(imgPath, options); }break;case Activity.RESULT_CANCELED:// 取消break;}break;}

最后記得加權限

??? <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
??? <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
??? <uses-permission android:name="android.permission.CAMERA" />
??? <uses-permission android:name="android.permission.RECORD_AUDIO" />
??? <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
???

轉載于:https://www.cnblogs.com/android-qian/archive/2012/12/06/2805248.html

總結

以上是生活随笔為你收集整理的android 调用系统的照相机和图库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。