Commit 094b38f6 authored by zhang_z's avatar zhang_z

优化摄像头权限获取流程;

parent df96b92a
......@@ -7,11 +7,15 @@ import android.view.View;
import android.view.ViewStub;
import android.widget.TextView;
import com.blankj.utilcode.constant.PermissionConstants;
import com.blankj.utilcode.util.PermissionUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.base.BasePresenter;
import com.xingdata.zzdpos.databinding.FragmentStoreScanBinding;
import java.util.List;
import me.dm7.barcodescanner.core.IViewFinder;
import me.dm7.barcodescanner.core.ViewFinderView;
import me.dm7.barcodescanner.zxing.ZXingScannerView;
......@@ -57,8 +61,26 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, Fragm
void onBackPressed();
}
private boolean isDenied = false;
@Override
public void initView() {
isDenied = false;
PermissionUtils.permission(PermissionConstants.CAMERA).callback(new PermissionUtils.FullCallback() {
@Override
public void onGranted(List<String> permissionsGranted) {
isDenied = false;
initCamera();
}
@Override
public void onDenied(List<String> permissionsDeniedForever, List<String> permissionsDenied) {
isDenied = true;
}
}).request();
}
private void initCamera() {
mCameraManager = (CameraManager) mContext.getSystemService(Context.CAMERA_SERVICE);
if (!titleStr.equals("")) {
......@@ -105,13 +127,15 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, Fragm
});
}
private int mCurCameraId;
@Override
public void onResume() {
super.onResume();
mScannerView.startCamera(mCurCameraId);
if (isDenied) pop();
if (mScannerView != null) mScannerView.startCamera(mCurCameraId);
}
private int getDefaultCameraId() {
......@@ -125,7 +149,7 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, Fragm
@Override
public void onPause() {
super.onPause();
mScannerView.stopCamera();
if (mScannerView != null) mScannerView.stopCamera();
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment