左晓为主开发手持机充值管理机
zuoxiao
2025-03-20 e863cc5da7b0c581c65d7e16ac3aa2ff9d98e4fc
app/src/main/java/com/dayu/recharge/activity/LoginActivity.java
@@ -1,5 +1,7 @@
package com.dayu.recharge.activity;
import static com.dayu.baselibrary.utils.BaseCommon.Generalv1Library;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
@@ -20,12 +22,13 @@
import com.dayu.baselibrary.utils.TipUtil;
import com.dayu.baselibrary.utils.WSMD5;
import com.dayu.baselibrary.view.LibraryDialog;
import com.dayu.general.view.ProjectDialog;
import com.dayu.henanlibrary.HeNanApplication;
import com.dayu.henanlibrary.dao.HNBaseDaoSingleton;
import com.dayu.qihealonelibrary.activity.HomeActivity;
import com.dayu.qihealonelibrary.activity.HomeActivityQHAlone;
import com.dayu.qiheonlinelibrary.QHOnLineApplication;
import com.dayu.qiheonlinelibrary.dao.QHOnLineAppDatabase;
import com.dayu.qiheonlinelibrary.activity.HomeActivityQHOline;
import com.dayu.qiheonlinelibrary.dao.QHOnlineBaseDaoSingleton;
import com.dayu.recharge.MyApplication;
import com.dayu.recharge.databinding.ActivityLoginBinding;
@@ -47,7 +50,6 @@
    ActivityLoginBinding binding;
    PassWordBean passWordBean;
    //    com.dayu.qihealonelibrary.dbBean.PassWordBean
    int clickNumber;
    @Override
@@ -55,12 +57,9 @@
        super.onCreate(savedInstanceState);
        binding = ActivityLoginBinding.inflate(LayoutInflater.from(this));
        setContentView(binding.getRoot());
        getPermission();
        initView();
        if (MyApplication.myApplication.libraryType == BaseCommon.NoLibrary) {
            choesLibrary();
            //没有选择版本先选择版本
        }
        getPermission();
    }
    private void initView() {
@@ -68,6 +67,7 @@
            clickNumber++;
            if (clickNumber == 20) {
                choesLibrary();
                clickNumber = 0;
            }
        });
@@ -87,6 +87,8 @@
            } else if ((passWordBean == null && psStr.equals("123456"))
                    || passWordBean != null && passWordBean.getPassWord().equalsIgnoreCase(WSMD5.getMD5Str(psStr))) {
                startToHomeActivity();
            } else if (MyApplication.myApplication.libraryType == BaseCommon.Generalv1Library) {
                com.dayu.general.activity.LoginActivity.login(nameStr, psStr, this);
            } else {
                Toast.makeText(LoginActivity.this, "密码错误", Toast.LENGTH_SHORT).show();
            }
@@ -108,7 +110,7 @@
    protected void onResume() {
        super.onResume();
        Log.i("LoginActivity", "onResume");
        if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary) {
        if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary || MyApplication.myApplication.libraryType == BaseCommon.Generalv1Library) {
            binding.nameLL.setVisibility(View.VISIBLE);
        }
    }
@@ -119,11 +121,17 @@
    private void choesLibrary() {
        LibraryDialog dialog = new LibraryDialog(this, type -> {
            binding.nameLL.setVisibility(View.GONE);
            if (type == BaseCommon.HeNanLibrary) {
                getHNPermission();
            } else if (type == BaseCommon.QHOnLineLibrary) {
                getQHOnlinPermission();
                binding.nameLL.setVisibility(View.VISIBLE);
            } else if (type == BaseCommon.Generalv1Library) {
                binding.nameLL.setVisibility(View.VISIBLE);
                getGeneralV1Permission();
                ProjectDialog projectDialog=new ProjectDialog(this);
                projectDialog.show();
            }
            MyApplication.myApplication.initApplication();
        });
@@ -134,9 +142,11 @@
        if (MyApplication.myApplication.libraryType == BaseCommon.HeNanLibrary) {
            startActivity(new Intent(LoginActivity.this, com.dayu.henanlibrary.activity.HomeActivity.class));
        } else if (MyApplication.myApplication.libraryType == BaseCommon.QHAloneLibrary) {
            startActivity(new Intent(LoginActivity.this, HomeActivity.class));
            startActivity(new Intent(LoginActivity.this, HomeActivityQHAlone.class));
        } else if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary) {
            startActivity(new Intent(LoginActivity.this, com.dayu.qiheonlinelibrary.activity.HomeActivity.class));
            startActivity(new Intent(LoginActivity.this, HomeActivityQHOline.class));
        } else if (MyApplication.myApplication.libraryType == BaseCommon.Generalv1Library) {
            startActivity(new Intent(LoginActivity.this, com.dayu.general.activity.MainActivity.class));
        }
        LoginActivity.this.finish();
    }
@@ -194,6 +204,9 @@
        }
    }
    /**
     * 获取通用权限
     */
    private void getPermission() {
        try {
            XXPermissions.with(this)
@@ -212,6 +225,10 @@
                                            file.mkdirs();
                                        }
                                        passWordBean = BaseDaoSingleton.getInstance(LoginActivity.this).loginPsDao().findFirst();
                                        if (MyApplication.myApplication.libraryType == BaseCommon.NoLibrary) {
                                            choesLibrary();
                                            //没有选择版本先选择版本
                                        }
                                    } catch (Exception e) {
                                        e.printStackTrace();
                                    }
@@ -281,7 +298,59 @@
        }
    }
    /**
     * 获取通用权限V1版本
     * 该方法用于请求应用所需的权限,以便应用可以正常运行
     */
    private void getGeneralV1Permission() {
        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) {//所有申请的权限都已通过
                                    try {
                                        File file = new File(com.dayu.general.dao.BaseDaoSingleton.SqlitePath);
                                        if (!file.exists()) {
                                            file.mkdirs();
                                        }
                                    } catch (Exception e) {
                                        e.printStackTrace();
                                    }
                                }
                            }
                        }
                        @Override
                        public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) {
                            if (doNotAskAgain) {
                                // 如果是被永久拒绝就跳转到应用权限系统设置页面
                            } else {
//                                toast("获取录音和日历权限失败");
                            }
                        }
                    });
        } catch (Throwable e) {
            e.printStackTrace();
        }
    }
    long mExitTime;
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {