From 3e904bfa8a1bb53dcf461e5c717f9b808e179245 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 08 一月 2025 16:27:48 +0800
Subject: [PATCH] 2025年01月08日16:27:46
---
app/src/main/java/com/hdl/photovoltaic/widget/popupview/CameraAlbumPopWindow.java | 64 ++++++++++++++++++++-----------
1 files changed, 41 insertions(+), 23 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/popupview/CameraAlbumPopWindow.java b/app/src/main/java/com/hdl/photovoltaic/widget/popupview/CameraAlbumPopWindow.java
index 23138e3..0ad2f74 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/popupview/CameraAlbumPopWindow.java
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/popupview/CameraAlbumPopWindow.java
@@ -17,6 +17,7 @@
import android.os.Environment;
import android.provider.DocumentsContract;
import android.provider.MediaStore;
+import android.provider.Settings;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@@ -25,6 +26,8 @@
import android.widget.PopupWindow;
import android.widget.RelativeLayout;
import android.widget.TextView;
+
+import androidx.core.content.FileProvider;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.other.HdlDialogLogic;
@@ -202,32 +205,46 @@
* 鎷嶇収鑾峰彇鍥剧墖
**/
private void take_photo() {
- //鑾峰彇绯荤当鐗堟湰
- int currentapiVersion = Build.VERSION.SDK_INT;
- // 婵�娲荤浉鏈�
- Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
- // 鍒ゆ柇瀛樺偍鍗℃槸鍚﹀彲浠ョ敤锛屽彲鐢ㄨ繘琛屽瓨鍌�
- SimpleDateFormat timeStampFormat = new SimpleDateFormat(
- "yyyy_MM_dd_HH_mm_ss", Locale.ENGLISH);
- String filename = timeStampFormat.format(new Date());
- outputImagepath = new File(hdl_Dir,
- filename + ".jpg");
- if (currentapiVersion < 24) {
- // 浠庢枃浠朵腑鍒涘缓uri
- Uri uri = Uri.fromFile(outputImagepath);
- intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
- } else {
+ try {
+ //鑾峰彇绯荤当鐗堟湰
+ int currentapiVersion = Build.VERSION.SDK_INT;
+ // 婵�娲荤浉鏈�
+ Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
+ // 鍒ゆ柇瀛樺偍鍗℃槸鍚﹀彲浠ョ敤锛屽彲鐢ㄨ繘琛屽瓨鍌�
+ SimpleDateFormat timeStampFormat = new SimpleDateFormat(
+ "yyyy_MM_dd_HH_mm_ss", Locale.ENGLISH);
+ String filename = timeStampFormat.format(new Date());
+ outputImagepath = new File(hdl_Dir,
+ filename + ".jpg");
+ if (currentapiVersion < 24) {
+ // 浠庢枃浠朵腑鍒涘缓uri
+ Uri uri = Uri.fromFile(outputImagepath);
+ intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
+ } else {
+// //鍏煎android7.0 浣跨敤鍏变韩鏂囦欢鐨勫舰寮�
+// ContentValues contentValues = new ContentValues(1);
+// contentValues.put(MediaStore.Images.Media.DATA, outputImagepath.getAbsolutePath());
+// Uri uri = mContext.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
+// intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
+// Uri photoURI = FileProvider.getUriForFile(mContext, "com.hdl.photovoltaic.dc.fileprovider", outputImagepath);
+// intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
+// intent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
+
//鍏煎android7.0 浣跨敤鍏变韩鏂囦欢鐨勫舰寮�
ContentValues contentValues = new ContentValues(1);
- contentValues.put(MediaStore.Images.Media.DATA, outputImagepath.getAbsolutePath());
+ contentValues.put(MediaStore.Images.Media.DISPLAY_NAME, outputImagepath.getName());
+ contentValues.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
Uri uri = mContext.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
-// Uri photoURI= FileProvider.getUriForFile(mContext,"com.hdl.debugtreasure.dc.fileprovider",outputImagepath);
-// intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
-// intent.putExtra(MediaStore.EXTRA_OUTPUT,photoURI);
+ Uri photoURI = FileProvider.getUriForFile(mContext, "com.hdl.photovoltaic.fileProvider", outputImagepath);
+ intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
+ intent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
+ }
+ // 寮�鍚竴涓甫鏈夎繑鍥炲�肩殑Activity锛岃姹傜爜涓篜HOTO_REQUEST_CAREMA
+ ((Activity) mContext).startActivityForResult(intent, TAKE_PHOTO);
+ } catch (Exception e) {
+ HdlThreadLogic.toast(mContext, R.string.loading_not_supported);
}
- // 寮�鍚竴涓甫鏈夎繑鍥炲�肩殑Activity锛岃姹傜爜涓篜HOTO_REQUEST_CAREMA
- ((Activity) mContext).startActivityForResult(intent, TAKE_PHOTO);
}
@@ -239,12 +256,15 @@
HdlThreadLogic.toast(mContext, R.string.camera_album_file_save_fial);
} else {
if (!TextUtils.isEmpty(outputImagepath.getAbsolutePath())) {
+ //娉ㄦ剰锛�(android13,14闇�瑕佸啀璁剧疆-闅愮-)鐗规畩鏉冮檺璁剧疆
orc_bitmap = BitmapFactory.decodeFile(outputImagepath.getAbsolutePath());//鑾峰彇鍥剧墖
saveBitmap(comp(ImgUpdateDirection(outputImagepath.getAbsolutePath()))); //鍘嬬缉鍥剧墖
} else {
HdlThreadLogic.toast(mContext, R.string.camera_album_file_get_fial);
}
}
+
+
}
/**
@@ -530,8 +550,6 @@
public interface CameraAlbumListener {
void successCallBack(File a);
}
-
-
}
--
Gitblit v1.8.0