Selaa lähdekoodia

新版本网络权限、读取权限的问题

詹子聪 6 vuotta sitten
vanhempi
commit
ea21658163

+ 7 - 2
app/src/main/AndroidManifest.xml

@@ -7,6 +7,7 @@
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 
+
     <uses-permission android:name="android.permission.CAMERA" />
     <uses-feature android:name="android.hardware.camera2.full" />
 
@@ -18,7 +19,11 @@
         android:supportsRtl="true"
         android:theme="@style/AppTheme"
         tools:ignore="GoogleAppIndexingWarning"
-        android:name=".OCRApplication">
+        android:name=".OCRApplication"
+        android:requestLegacyExternalStorage="true"
+        android:networkSecurityConfig="@xml/network">
+        <!--targetSdk大于等于29会导致访问/storage/emulated/0/Pictures/ 权限被拒绝
+        open failed: EACCES (Permission denied),需要加上requestLegacyExternalStorage-->
         <activity android:name=".PermissionActivity"
             android:screenOrientation="portrait">
             <intent-filter>
@@ -28,7 +33,7 @@
         </activity>
 
         <activity android:name=".ui.OperationActivity"
-            android:screenOrientation="portrait"/>
+            android:screenOrientation="portrait" />
     </application>
 
 </manifest>

+ 4 - 3
app/src/main/java/com/miekir/ocr/ui/CameraActivity.java

@@ -448,6 +448,10 @@ public class CameraActivity extends BaseCameraActivity {
                 //converting to JPEG
                 byte[] jpegData = ImageUtil.imageToByteArray(image);
 
+                // 写入到文件
+                //FileManager.writeFrame(file.getAbsolutePath(), jpegData);
+                image.close();
+
                 // 得到裁剪后的图片
                 Bitmap originalBmp = BitmapFactory.decodeByteArray(jpegData , 0, jpegData.length);
                 // 这里由于要快速拍照,使用的格式是ImageFormat.YUV_420_888,导致拍出来的照片自动逆时针90度,所以要转换裁剪位置
@@ -466,9 +470,6 @@ public class CameraActivity extends BaseCameraActivity {
                 originalBmp.recycle();
                 croppedBmp.recycle();
                 rotatedBitmap.recycle();
-                // 写入到文件
-                //FileManager.writeFrame(file.getAbsolutePath(), jpegData);
-                image.close();
             }
 
             /*Image image = null;

+ 3 - 1
app/src/main/res/layout/activity_camera.xml

@@ -4,7 +4,9 @@
     android:id="@+id/activity_main"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical">
+    android:orientation="vertical"
+    android:keepScreenOn="true">
+    <!--屏幕常亮-->
 
     <LinearLayout
         android:layout_width="match_parent"

+ 5 - 0
app/src/main/res/xml/network.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<network-security-config>
+    <!--解决9.0版本上无法访问http服务器的问题-->
+    <base-config cleartextTrafficPermitted="true" />
+</network-security-config>