Skip to content

Commit 47f0a6b

Browse files
committed
fix: permission request missing when first start
1 parent a780ad2 commit 47f0a6b

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

cgeDemo/src/main/java/org/wysaid/cgeDemo/CameraDemoActivity.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.wysaid.myUtils.FileUtil;
2323
import org.wysaid.myUtils.ImageUtil;
2424
import org.wysaid.myUtils.MsgUtil;
25+
import org.wysaid.myUtils.PermissionUtil;
2526
import org.wysaid.nativePort.CGENativeLibrary;
2627
import org.wysaid.view.CameraRecordGLSurfaceView;
2728

@@ -114,6 +115,7 @@ public void endRecordingOK() {
114115
protected void onCreate(Bundle savedInstanceState) {
115116
super.onCreate(savedInstanceState);
116117
setContentView(R.layout.activity_camera_demo);
118+
PermissionUtil.verifyStoragePermissions(this);
117119

118120
// lastVideoPathFileName = FileUtil.getPathInPackage(CameraDemoActivity.this, true) + "/lastVideoPath.txt";
119121
Button takePicBtn = (Button) findViewById(R.id.takePicBtn);

library/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ android {
3434
cppExtraFlags = "-DDEBUG=1 -D_DEBUG=1 -Od -g"
3535
} else {
3636
cmakeBuildType = "-DCMAKE_BUILD_TYPE=Release"
37-
cppExtraFlags = "-O2 -DNDEBUG=1 -D_NDEBUG=1"
37+
cppExtraFlags = "-Os -DNDEBUG=1 -D_NDEBUG=1"
3838
}
3939

4040
arguments "-DCGE_USE_VIDEO_MODULE=ON",

library/src/main/java/org/wysaid/myUtils/PermissionUtil.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010

1111
import org.wysaid.common.Common;
1212

13+
import java.util.Vector;
14+
1315
public class PermissionUtil {
1416
private static final int REQUEST_PERMISSION = 0;
1517
private static String[] PERMISSIONS_STORAGE = {
@@ -20,15 +22,21 @@ public class PermissionUtil {
2022

2123
public static void verifyStoragePermissions(Activity activity) {
2224
try {
23-
25+
StringBuilder toastText = null;
2426
for (int i = 0; i != PERMISSIONS_STORAGE.length; ++i) {
2527
int reqCode = ActivityCompat.checkSelfPermission(activity, PERMISSIONS_STORAGE[i]);
2628
if (reqCode != PackageManager.PERMISSION_GRANTED) {
27-
// 没有写的权限,去申请写的权限,会弹出对话框
28-
ActivityCompat.requestPermissions(activity, new String[]{PERMISSIONS_STORAGE[i]}, REQUEST_PERMISSION);
29-
Toast.makeText(activity, "request permission " + PERMISSIONS_STORAGE[i] + " ...", Toast.LENGTH_LONG).show();
29+
// No sdcard write permission, perform request.
30+
if (toastText == null) {
31+
toastText = new StringBuilder("Request permission");
32+
}
33+
toastText.append(" ").append(PERMISSIONS_STORAGE[i]);
3034
}
3135
}
36+
if (toastText != null) {
37+
Toast.makeText(activity, toastText.toString(), Toast.LENGTH_LONG).show();
38+
ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE, REQUEST_PERMISSION);
39+
}
3240
} catch (Exception e) {
3341
Log.e(Common.LOG_TAG, "Error: " + e.getMessage());
3442
e.printStackTrace();

0 commit comments

Comments
 (0)