|
@@ -51,6 +51,16 @@ public class ScanActivity extends BaseMVPActivity<ActivityScanLayoutBinding, Sca
|
|
|
initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "扫码登录");
|
|
|
viewBinding.toolbarInclude.tvRight.setVisibility(View.VISIBLE);
|
|
|
viewBinding.toolbarInclude.tvRight.setImageResource(R.drawable.icon_scan_by_photo_album);
|
|
|
+ viewBinding.toolbarInclude.tvRight.setOnClickListener(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void initData() {
|
|
|
+ super.initData();
|
|
|
+ checkCameraPermission();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void initQrScan() {
|
|
|
/**
|
|
|
* 执行扫面Fragment的初始化操作
|
|
|
*/
|
|
@@ -63,7 +73,6 @@ public class ScanActivity extends BaseMVPActivity<ActivityScanLayoutBinding, Sca
|
|
|
* 替换我们的扫描控件
|
|
|
*/
|
|
|
getSupportFragmentManager().beginTransaction().replace(R.id.fl_my_container, captureFragment).commit();
|
|
|
- viewBinding.toolbarInclude.tvRight.setOnClickListener(this);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -111,6 +120,32 @@ public class ScanActivity extends BaseMVPActivity<ActivityScanLayoutBinding, Sca
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void checkCameraPermission() {
|
|
|
+ new RxPermissions(this)
|
|
|
+ .request(Manifest.permission.CAMERA)
|
|
|
+ .subscribe(permission -> {
|
|
|
+ if (permission) {
|
|
|
+ initQrScan();
|
|
|
+ } else {
|
|
|
+ DialogUtil.showInCenter(getSupportFragmentManager(), com.cooleshow.base.R.layout.common_popu, (holder, dialog) -> {
|
|
|
+ TextView tvTitle = holder.getView(com.cooleshow.base.R.id.tv_title);
|
|
|
+ TextView tvContent = holder.getView(com.cooleshow.base.R.id.tv_content);
|
|
|
+ TextView btncancel = holder.getView(com.cooleshow.base.R.id.btn_cancel);
|
|
|
+ TextView btnCommit = holder.getView(com.cooleshow.base.R.id.btn_commit);
|
|
|
+ tvTitle.setText("提示");
|
|
|
+ tvContent.setText("扫描二维码需要相机权限,去设置?");
|
|
|
+ btncancel.setOnClickListener(view1 -> {
|
|
|
+ dialog.dismiss();
|
|
|
+ });
|
|
|
+ btnCommit.setOnClickListener(view1 -> {
|
|
|
+ PermissionUtils.toSelfSetting(this);
|
|
|
+ dialog.dismiss();
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
private void addPermissions() {
|
|
|
new RxPermissions(this)
|
|
|
.request(Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE)
|