From 9d6573a634ca739ac2c970206db223bb845eb6ce Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 07 一月 2025 15:17:19 +0800
Subject: [PATCH] 2025年01月07日15:17:17
---
app/src/main/java/com/hdl/photovoltaic/widget/popupview/CameraAlbumPopWindow.java | 60 ++++++++++++-------
app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java | 36 ++++++++---
app/src/main/AndroidManifest.xml | 56 ++++++++++++------
app/src/main/res/layout/activity_test_log.xml | 1
4 files changed, 101 insertions(+), 52 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 9e9e872..2653181 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -5,13 +5,20 @@
<uses-permission
android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
- tools:ignore="ProtectedPermissions" /> <!-- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> -->
- <uses-permission android:name="android.permission.VIBRATE" /> <!-- <uses-permission android:name="android.permission.INTERNET" /> -->
- <!-- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> -->
- <!-- <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> -->
- <!-- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> -->
- <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
- <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" /> <!-- <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> -->
+ tools:ignore="ProtectedPermissions" />
+
+
+ <!--Android13 鐓х墖-->
+ <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
+ <!--Android13 瑙嗛-->
+ <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
+ <!--Android13 闊抽-->
+ <!-- <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />-->
+ <uses-permission android:name="android.permission.VIBRATE" />
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+ <!-- <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /><!–澶栭儴瀛樺偍鐩綍璁块棶鏉冮檺 璋锋瓕play涓婃灦涓嶄簡–>-->
+ <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> <!-- wifi鐘舵�佹潈闄� -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.INTERNET" /> <!-- 寮�鍚綉缁滄潈闄� -->
@@ -20,13 +27,10 @@
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- android 10.0浣跨敤wifi api鏂版坊鍔犵殑鏉冮檺 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- bugly鎵�闇�鏉冮檺 -->
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- <uses-permission android:name="android.permission.INTERNET" /> -->
- <uses-permission android:name="android.permission.CAMERA" /> <!-- <uses-permission android:name="android.permission.INTERNET" /> -->
+ <uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- bugly鎵�闇�鏉冮檺 -->
- <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> <!-- <uses-permission android:name="android.permission.INTERNET" /> -->
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- <uses-permission android:name="android.permission.INTERNET" /> -->
+ <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<!-- UNI鐩告満鍜屽瓨鍌ㄧ殑鏉冮檺 -->
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
@@ -38,14 +42,12 @@
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH" /> <!-- Optional. Required for location feature -->
<!-- 涓轰簡鎻愰珮sdk璇嗗埆鍞竴鐢ㄦ埛鐨勮兘鍔涳紝淇濊瘉娑堟伅鎺ㄩ�佺殑绮惧噯閫佽揪锛屽缓璁泦鎴愪互涓嬫潈闄愶紙鍙�夛級 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
- <uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 濡傛偍闇�瑕佹帴鍏ュ湴鐞嗗洿鏍忎笟鍔★紝寤鸿闆嗘垚浠ヤ笅鏉冮檺锛堝彲閫夛級 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
@@ -72,9 +74,9 @@
android:allowBackup="true"
android:icon="@drawable/desktop_logo"
android:label="@string/app_name"
+ android:persistent="true"
android:requestLegacyExternalStorage="true"
android:supportsRtl="true"
- android:persistent="true"
android:theme="@style/Theme.PhotovoltaicDebug">
<activity
android:name=".ui.newC.PowerStationsMoveActivity"
@@ -176,8 +178,22 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
- </activity> <!-- 娉ㄥ唽鏈嶅姟 -->
+ </activity>
+
+ <provider
+ android:name="androidx.core.content.FileProvider"
+ android:authorities="com.hdl.photovoltaic.fileProvider"
+ android:exported="false"
+ android:grantUriPermissions="true"
+ tools:replace="android:authorities">
+ <meta-data
+ android:name="android.support.FILE_PROVIDER_PATHS"
+ android:resource="@xml/provider_paths"
+ tools:replace="android:resource" />
+ </provider>
+ <!-- 娉ㄥ唽鏈嶅姟 -->
<service android:name=".internet.HttpServer.MyNanoHttpService" /> <!-- 鍔犲畠uniapp鎵嶈兘鍞よ捣鐩告満 -->
+
<provider
android:name="io.dcloud.common.util.DCloud_FileProvider"
android:authorities="com.hdl.photovoltaic.dc.fileprovider"
@@ -219,9 +235,9 @@
android:name=".services.UniappService"
android:enabled="true"
android:exported="true">
- <intent-filter>
- <action android:name="UniappService.ACTION" />
- </intent-filter>
+ <intent-filter>
+ <action android:name="UniappService.ACTION" />
+ </intent-filter>
</service>
<meta-data
@@ -235,6 +251,6 @@
android:value="true" />
</application>
<queries>
- <package android:name="com.hdl.photovoltaic.services"/>
+ <package android:name="com.hdl.photovoltaic.services" />
</queries>
</manifest>
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java
index 6087317..f0e1da1 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java
@@ -1,5 +1,6 @@
package com.hdl.photovoltaic.ui.me;
+
import android.Manifest;
import android.content.Intent;
import android.os.Build;
@@ -38,6 +39,7 @@
import com.hdl.photovoltaic.widget.popupview.CameraAlbumPopWindow;
import java.io.File;
+import java.util.Objects;
/**
@@ -72,6 +74,7 @@
}
private void initData() {
+
// generalPermission = registerForActivityResult(new ActivityResultContracts.RequestMultiplePermissions(), new ActivityResultCallback<Map<String, Boolean>>() {
// @Override
// public void onActivityResult(Map<String, Boolean> result) {
@@ -103,24 +106,37 @@
finish();
}
});
+
viewBinding.personalDataUserPortraitIl.getRoot().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Manifest.permission.WRITE_EXTERNAL_STORAGE 璇诲啓璁惧涓婄殑鐓х墖浠ュ強鏂囦欢
//generalPermission.launch(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE});
-
- PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE, new PermissionUtils.PermissionState() {
- @Override
- public void Success(int value) {
- if (value == PermissionUtils.STATUS_REFUSE_PERMANENT) {
+ //Android 13浠ヤ笂鐢ㄥ埆鐨勬潈闄�
+ if (Build.VERSION.SDK_INT >= 33) {
+ PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.READ_MEDIA_IMAGES, new PermissionUtils.PermissionState() {
+ @Override
+ public void Success(int value) {
+ if (value == PermissionUtils.STATUS_REFUSE_PERMANENT) {
// HdlThreadLogic.toast(_mActivity, R.string.permission_open);
- return;
+ return;
+ }
+ changedUserAvatar();
}
- changedUserAvatar();
- }
- }, true);
-
+ }, true);
+ } else {
+ PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE, new PermissionUtils.PermissionState() {
+ @Override
+ public void Success(int value) {
+ if (value == PermissionUtils.STATUS_REFUSE_PERMANENT) {
+// HdlThreadLogic.toast(_mActivity, R.string.permission_open);
+ return;
+ }
+ changedUserAvatar();
+ }
+ }, true);
+ }
}
});
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 642db56..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
@@ -27,6 +27,8 @@
import android.widget.RelativeLayout;
import android.widget.TextView;
+import androidx.core.content.FileProvider;
+
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.other.HdlDialogLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
@@ -203,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);
}
@@ -240,7 +256,7 @@
HdlThreadLogic.toast(mContext, R.string.camera_album_file_save_fial);
} else {
if (!TextUtils.isEmpty(outputImagepath.getAbsolutePath())) {
- //(android13,14闇�瑕佸啀璁剧疆-闅愮-)鐗规畩鏉冮檺璁剧疆
+ //娉ㄦ剰锛�(android13,14闇�瑕佸啀璁剧疆-闅愮-)鐗规畩鏉冮檺璁剧疆
orc_bitmap = BitmapFactory.decodeFile(outputImagepath.getAbsolutePath());//鑾峰彇鍥剧墖
saveBitmap(comp(ImgUpdateDirection(outputImagepath.getAbsolutePath()))); //鍘嬬缉鍥剧墖
} else {
diff --git a/app/src/main/res/layout/activity_test_log.xml b/app/src/main/res/layout/activity_test_log.xml
index a93b97a..9d97c88 100644
--- a/app/src/main/res/layout/activity_test_log.xml
+++ b/app/src/main/res/layout/activity_test_log.xml
@@ -158,6 +158,7 @@
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:background="@color/text_FF1C1C1E"
+ android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
--
Gitblit v1.8.0