左晓为主开发手持机充值管理机
zuoxiao
2024-01-09 0baf94225974a8a993789f671860f3679e1a9ff0
app/src/main/java/com/dayu/recharge/activity/LoginActivity.java
@@ -8,6 +8,7 @@
import android.view.View;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import com.dayu.recharge.MyApplication;
@@ -15,10 +16,12 @@
import com.dayu.recharge.databinding.ActivityLoginBinding;
import com.dayu.recharge.dbBean.PassWordBean;
import com.dayu.recharge.utils.TipUtil;
import com.dayu.recharge.utils.WSMD5;
import com.permissionx.guolindev.PermissionX;
import com.hjq.permissions.OnPermissionCallback;
import com.hjq.permissions.Permission;
import com.hjq.permissions.XXPermissions;
import java.io.File;
import java.util.List;
/**
@@ -27,7 +30,7 @@
 * Date: 2023-11-10 19:52
 * Description: 登录界面
 */
public class LoginActivity extends AppCompatActivity {
public class LoginActivity extends BaseActivity {
    ActivityLoginBinding binding;
    PassWordBean passWordBean;
@@ -62,27 +65,51 @@
    }
    private void getPermission() {
        PermissionX.init(LoginActivity.this).permissions(Manifest.permission.READ_PHONE_STATE,
                        Manifest.permission.READ_EXTERNAL_STORAGE,
                        Manifest.permission.WRITE_EXTERNAL_STORAGE)
                .onExplainRequestReason((scope, deniedList) -> {
                })
                .request((allGranted, grantedList, deniedList) -> {
                    if (allGranted) {//所有申请的权限都已通过
                        MyApplication.myApplication.initEasySocket(false, null);
                        try {
                            File file = new File(BaseDaoSingleton.SqlitePath);
                            if (!file.exists()) {
                                file.mkdirs();
        try {
            XXPermissions.with(this)
                    // 申请单个权限
//                    .permission(Permission.RECORD_AUDIO)
                    // 申请多个权限
                    .permission(Permission.READ_PHONE_STATE,
                            Permission.READ_EXTERNAL_STORAGE,
                            Permission.WRITE_EXTERNAL_STORAGE)
                    // 设置权限请求拦截器(局部设置)
                    //.interceptor(new PermissionInterceptor())
                    // 设置不触发错误检测机制(局部设置)
                    //.unchecked()
                    .request(new OnPermissionCallback() {
                        @Override
                        public void onGranted(@NonNull List<String> permissions, boolean allGranted) {
                            if (allGranted) {
                                if (allGranted) {//所有申请的权限都已通过
                                    MyApplication.myApplication.initEasySocket(false, null);
                                    try {
                                        File file = new File(BaseDaoSingleton.SqlitePath);
                                        if (!file.exists()) {
                                            file.mkdirs();
                                        }
                                        passWordBean = BaseDaoSingleton.getInstance(LoginActivity.this).loginPsDao().findFirst();
                                    } catch (Exception e) {
                                        e.printStackTrace();
                                    }
                                }
                            }
                            passWordBean = BaseDaoSingleton.getInstance(this).loginPsDao().findFirst();
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    } else {//您拒绝了如下权限:$deniedList
                    }
                });
                        @Override
                        public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) {
                            if (doNotAskAgain) {
                                // 如果是被永久拒绝就跳转到应用权限系统设置页面
                            } else {
//                                toast("获取录音和日历权限失败");
                            }
                        }
                    });
        } catch (Throwable e) {
            e.printStackTrace();
        }
    }
}