package com.hjx.parent.fragment; import android.content.Intent; import android.os.Bundle; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import androidx.annotation.Nullable; import com.hjq.permissions.OnPermissionCallback; import com.hjq.permissions.Permission; import com.hjq.permissions.XXPermissions; import com.hjx.parent.R; import com.prws.common.base.BaseFragment; import com.prws.common.utils.SharedPreferencesUtil; import com.uuzuche.lib_zxing.activity.CaptureActivity; import com.uuzuche.lib_zxing.activity.CodeUtils; import java.util.List; public class HomeFragment extends BaseFragment { @Override protected int getLayoutRes() { return R.layout.fragment_home; } ImageView iv_sapmiao; TextView tv_name; @Override protected void initDatas() { super.initDatas(); iv_sapmiao = mRootView.findViewById(R.id.iv_sapmiao); tv_name = mRootView.findViewById(R.id.tv_name); iv_sapmiao.setOnClickListener(view -> { if (!XXPermissions.isGranted(getActivity(), Permission.CAMERA)){ XXPermissions.with(getActivity()) // 申请多个权限 .permission(Permission.CAMERA) .request(new OnPermissionCallback() { @Override public void onGranted(List permissions, boolean all) { if (all){ //开启扫码界面 startQRView(); }else { Toast.makeText(getActivity(),"需要相机权限",Toast.LENGTH_SHORT).show(); } } @Override public void onDenied(List permissions, boolean never) { XXPermissions.startPermissionActivity(getActivity(), permissions); } }); }else { startQRView(); } }); String role = (String) SharedPreferencesUtil.getData("role",""); String userId = (String) SharedPreferencesUtil.getData("userId",""); String token = (String) SharedPreferencesUtil.getData("token",""); String phone = (String) SharedPreferencesUtil.getData("phone",""); if (role != null && role.length() > 0) tv_name.setText(role); } public void startQRView(){ startActivityForResult(new Intent(getActivity(), CaptureActivity.class),101); } @Override public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 101){ if (null != data) { Bundle bundle = data.getExtras(); if (bundle == null) { return; } if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) { String result = bundle.getString(CodeUtils.RESULT_STRING); Toast.makeText(getActivity(), "解析结果:" + result, Toast.LENGTH_LONG).show(); } else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) { Toast.makeText(getActivity(), "解析二维码失败", Toast.LENGTH_LONG).show(); } } } } }