左晓为主开发手持机充值管理机
zuoxiao
2024-08-26 12fb3fb97f135bbd78b31a06f8451f9b42a2ed6f
app/src/main/java/com/dayu/recharge/activity/LoginActivity.java
@@ -5,7 +5,10 @@
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Toast;
import androidx.annotation.NonNull;
@@ -21,6 +24,9 @@
import com.dayu.henanlibrary.dao.HNBaseDaoSingleton;
import com.dayu.qihealonelibrary.activity.HomeActivity;
import com.dayu.qiheonlinelibrary.QHOnLineApplication;
import com.dayu.qiheonlinelibrary.dao.QHOnLineAppDatabase;
import com.dayu.qiheonlinelibrary.dao.QHOnlineBaseDaoSingleton;
import com.dayu.recharge.MyApplication;
import com.dayu.recharge.databinding.ActivityLoginBinding;
import com.hjq.permissions.OnPermissionCallback;
@@ -41,7 +47,7 @@
    ActivityLoginBinding binding;
    PassWordBean passWordBean;
//    com.dayu.qihealonelibrary.dbBean.PassWordBean
    //    com.dayu.qihealonelibrary.dbBean.PassWordBean
    int clickNumber;
    @Override
@@ -51,6 +57,10 @@
        setContentView(binding.getRoot());
        getPermission();
        initView();
        if (MyApplication.myApplication.libraryType == BaseCommon.NoLibrary) {
            choesLibrary();
            //没有选择版本先选择版本
        }
    }
    private void initView() {
@@ -63,27 +73,43 @@
        });
        binding.loginBtn.setOnClickListener(v -> {
            String psStr = binding.loginPw.getText().toString();
            String nameStr = binding.loginName.getText().toString();
            if (TextUtils.isEmpty(psStr)) {
                TipUtil.show("请输入密码");
                return;
            }
            if ((passWordBean == null && psStr.equals("123456"))
            if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary && TextUtils.isEmpty(nameStr)) {
                TipUtil.show("请输入账号");
                return;
            }
            if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary) {
                QHOnLineApplication.getInstance().getPublicKey(this, nameStr, psStr);
            } else if ((passWordBean == null && psStr.equals("123456"))
                    || passWordBean != null && passWordBean.getPassWord().equalsIgnoreCase(WSMD5.getMD5Str(psStr))) {
                if (MyApplication.myApplication.libraryType == BaseCommon.NoLibrary) {
                    choesLibrary();
                    //没有选择版本先选择版本
                } else {
                    startToHomeActivity();
                }
                startToHomeActivity();
            } else {
                Toast.makeText(LoginActivity.this, "密码错误", Toast.LENGTH_SHORT).show();
            }
        });
        try {
            PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
            binding.versionName.setText("当前版本:V" + packageInfo.versionName);
        } catch (PackageManager.NameNotFoundException e) {
        } catch (
                PackageManager.NameNotFoundException e) {
            throw new RuntimeException(e);
        }
    }
    @Override
    protected void onResume() {
        super.onResume();
        Log.i("LoginActivity", "onResume");
        if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary) {
            binding.nameLL.setVisibility(View.VISIBLE);
        }
    }
@@ -95,11 +121,11 @@
        LibraryDialog dialog = new LibraryDialog(this, type -> {
            if (type == BaseCommon.HeNanLibrary) {
                getHNPermission();
            } else if (type == BaseCommon.QHAloneLibrary) {
            } else if (type == BaseCommon.QHOnLineLibrary) {
                getQHOnlinPermission();
                binding.nameLL.setVisibility(View.VISIBLE);
            }
            MyApplication.myApplication.initApplication();
            startToHomeActivity();
        });
        dialog.show();
    }
@@ -109,6 +135,8 @@
            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));
        } else if (MyApplication.myApplication.libraryType == BaseCommon.QHOnLineLibrary) {
            startActivity(new Intent(LoginActivity.this, com.dayu.qiheonlinelibrary.activity.HomeActivity.class));
        }
        LoginActivity.this.finish();
    }
@@ -207,4 +235,64 @@
    }
    private void getQHOnlinPermission() {
        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(QHOnlineBaseDaoSingleton.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) {
            if ((System.currentTimeMillis() - mExitTime) > 2000) {
                Toast.makeText(LoginActivity.this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
                mExitTime = System.currentTimeMillis();
            } else {
                LoginActivity.this.finish();
            }
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
}