1.前置工作:
a.设置权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-feature android:name="android.hardware.camera.any" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
b.动态申请:
package com.jxd.jnistudy.activity;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Bundle;
import com.jxd.jnistudy.MainActivity;
import com.jxd.jnistudy.R;
import com.jxd.jnistudy.utils.LogUtils;
public class InitActivity extends AppCompatActivity {
private static int REQUEST_CODE = 1;
private String[] permissionArr = new String[]
{Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.CAMERA};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_init);
requestPermissions(permissionArr,REQUEST_CODE);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
boolean bAllPermissionGranted = true;
for (int g:grantResults){
if(g== PackageManager.PERMISSION_DENIED){
LogUtils.saveDebugLog("权限申请被拒绝: "+permissions[g]);