Android啟動相機拍照并返回圖片
具體實現(xiàn)過程請看下面代碼:
簡單的調(diào)用了一下系統(tǒng)的拍照功能
代碼如下所示:
//拍照的方法
private void openTakePhoto(){
/**
* 在啟動拍照之前最好先判斷一下sdcard是否可用
*/
String state = Environment.getExternalStorageState(); //拿到sdcard是否可用的狀態(tài)碼
if (state.equals(Environment.MEDIA_MOUNTED)){ //如果可用
Intent intent = newIntent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(intent,TAKE_PHOTO);
}else {
Toast.makeText(SettingActivity.this,"sdcard不可用",Toast.LENGTH_SHORT).show();
}
}
拍完照片后,我們肯定視需要拿到我們已經(jīng)拍好的照片去進行一些操作(例如,換頭像、發(fā)帶圖狀態(tài)等等),這時候我們就需要重寫onActivityResult()方法,去拿到我們拍好的照片去進行操作,我們可以通過下面兩種方式去拿到我們的照片,他的加過就封裝在了我們的Intent里面,我們只需要取出來即可:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intentdata) {
super.onActivityResult(requestCode, resultCode, data);
if (data!= null) {
switch (requestCode) {
case TAKE_PHOTO: //拍攝圖片并選擇
//兩種方式 獲取拍好的圖片
if (data.getData() != null|| data.getExtras() != null){ //防止沒有返回結(jié)果
Uri uri =data.getData();
if (uri != null) {
photo =BitmapFactory.decodeFile(uri.getPath()); //拿到圖片
}
if (photo == null) {
Bundle bundle =data.getExtras();
if (bundle != null){
photo =(Bitmap) bundle.get("data");
} else {
Toast.makeText(getApplicationContext(), "找不到圖片",Toast.LENGTH_SHORT).show();
}
}
//處理圖片
//裁剪圖片
}
break;
以上代碼附有注釋,相信大家都可以看得吧,有哪些不明白的地方歡迎各位朋友給留言,我會在第一時間和大家取得聯(lián)系的。謝謝!
- android自定義Camera實現(xiàn)錄像和拍照
- Android自定義Camera實現(xiàn)拍照功能
- Android實現(xiàn)Camera2預(yù)覽和拍照效果
- android自定義Camera拍照并查看圖片
- Android Camera實現(xiàn)毫秒級拍照實例
- Android中使用Camera類編寫手機拍照App的實例教程
- android系統(tǒng)在靜音模式下關(guān)閉camera拍照聲音的方法
- Android實現(xiàn)拍照、選擇圖片并裁剪圖片功能
- Android拍照保存在系統(tǒng)相冊不顯示的問題解決方法
- Android自定義Camera實現(xiàn)拍照小功能
相關(guān)文章
android:TextView簡單設(shè)置文本樣式和超鏈接的方法
這篇文章主要介紹了android:TextView簡單設(shè)置文本樣式和超鏈接的方法,涉及TextView常見文字屬性的相關(guān)操作技巧,需要的朋友可以參考下2016-08-08
使用RecyclerView實現(xiàn)瀑布流高度自適應(yīng)
這篇文章主要為大家詳細(xì)介紹了使用RecyclerView實現(xiàn)瀑布流高度自適應(yīng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
使用Kotlin+RocketMQ實現(xiàn)延時消息的示例代碼
這篇文章主要介紹了使用Kotlin+RocketMQ實現(xiàn)延時消息的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Android自定義WheelView地區(qū)選擇三級聯(lián)動
這篇文章主要為大家詳細(xì)介紹了Android自定義WheelView地區(qū)選擇三級聯(lián)動的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02
Android學(xué)習(xí)項目之簡易版微信為例(二)
這篇文章主要以簡易版微信為例,實現(xiàn)簡易版微信的登陸、注冊界面的編寫與簡單交互,感興趣的小伙伴們可以參考一下2016-06-06
Android開發(fā)Jetpack組件ViewModel使用講解
這篇文章主要介紹了Android?Jetpack架構(gòu)組件?ViewModel詳解,ViewModel類讓數(shù)據(jù)可在發(fā)生屏幕旋轉(zhuǎn)等配置更改后繼續(xù)存在,ViewModel類旨在以注重生命周期的方式存儲和管理界面相關(guān)的數(shù)據(jù),感興趣可以來學(xué)習(xí)一下2022-08-08
Android入門之onTouchEvent觸碰事件的示例詳解
今天給大家?guī)淼氖荰ouchListener與OnTouchEvent的比較,以及多點觸碰的知識點!?文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-12-12

