|
@@ -1,21 +1,18 @@
|
|
|
package xn.hxp.ui;
|
|
|
|
|
|
+import android.os.CountDownTimer;
|
|
|
import android.text.TextUtils;
|
|
|
import android.view.View;
|
|
|
|
|
|
-import androidx.annotation.NonNull;
|
|
|
import androidx.viewbinding.ViewBinding;
|
|
|
|
|
|
import com.blankj.utilcode.util.ActivityUtils;
|
|
|
import com.blankj.utilcode.util.AppUtils;
|
|
|
import com.blankj.utilcode.util.GsonUtils;
|
|
|
-import com.blankj.utilcode.util.LogUtils;
|
|
|
import com.blankj.utilcode.util.NetworkUtils;
|
|
|
import com.blankj.utilcode.util.ThreadUtils;
|
|
|
-import com.hjq.permissions.OnPermissionCallback;
|
|
|
import com.hjq.permissions.Permission;
|
|
|
import com.hjq.permissions.XXPermissions;
|
|
|
-import com.kongzue.dialogx.dialogs.MessageDialog;
|
|
|
import com.kongzue.dialogx.dialogs.PopTip;
|
|
|
import com.rc.core.ui.activity.BaseActivity;
|
|
|
import com.rc.httpcore.HttpConfig;
|
|
@@ -24,7 +21,6 @@ import com.rc.httpcore.client.HttpTool;
|
|
|
|
|
|
import org.json.JSONObject;
|
|
|
|
|
|
-import java.util.List;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
import okhttp3.HttpUrl;
|
|
@@ -38,7 +34,7 @@ import xn.hxp.utils.Tool;
|
|
|
public class StartActivity extends BaseActivity {
|
|
|
private ActivityStartBinding binding;
|
|
|
private ThreadUtils.SimpleTask<LabInfo> checkTask;
|
|
|
-
|
|
|
+ private CountDownTimer requestPermissionCdTimer;
|
|
|
private int reTry = 0;
|
|
|
|
|
|
@Override
|
|
@@ -67,45 +63,38 @@ public class StartActivity extends BaseActivity {
|
|
|
return true;
|
|
|
}
|
|
|
});
|
|
|
- requestPermission();
|
|
|
- }
|
|
|
-
|
|
|
- private void requestPermission() {
|
|
|
- XXPermissions.with(this).permission(Permission.CAMERA,
|
|
|
- Permission.READ_EXTERNAL_STORAGE,
|
|
|
- Permission.WRITE_EXTERNAL_STORAGE,
|
|
|
- Permission.READ_PHONE_STATE,
|
|
|
- Permission.SYSTEM_ALERT_WINDOW,
|
|
|
- Permission.RECORD_AUDIO).request(new OnPermissionCallback() {
|
|
|
+ requestPermissionCdTimer = new CountDownTimer(1000, 1000) {
|
|
|
@Override
|
|
|
- public void onGranted(@NonNull List<String> permissions, boolean allGranted) {
|
|
|
- if (allGranted) {
|
|
|
- LogUtils.d("设备号", Tool.INSTANCE.getSerialNumber());
|
|
|
- initView();
|
|
|
- } else {
|
|
|
- MessageDialog.show("提示", "您必须同意所有权限才可以继续使用", "确定").setCancelable(false).setOkButtonClickListener((dialog, v) -> {
|
|
|
- requestPermission();
|
|
|
- return false;
|
|
|
- });
|
|
|
- }
|
|
|
+ public void onTick(long millisUntilFinished) {
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) {
|
|
|
- OnPermissionCallback.super.onDenied(permissions, doNotAskAgain);
|
|
|
- if (doNotAskAgain) {
|
|
|
- MessageDialog.show("提示", "您必须同意所有权限才可以继续使用", "确定").setCancelable(false).setOkButtonClickListener((dialog, v) -> {
|
|
|
- XXPermissions.startPermissionActivity(StartActivity.this, permissions);
|
|
|
- return false;
|
|
|
- });
|
|
|
- } else {
|
|
|
- MessageDialog.show("提示", "您必须同意所有权限才可以继续使用", "确定").setCancelable(false).setOkButtonClickListener((dialog, v) -> {
|
|
|
- requestPermission();
|
|
|
- return false;
|
|
|
- });
|
|
|
- }
|
|
|
+ public void onFinish() {
|
|
|
+ requestPermission();
|
|
|
}
|
|
|
- });
|
|
|
+ };
|
|
|
+ requestPermissionCdTimer.start();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void requestPermission() {
|
|
|
+ if (!XXPermissions.isGranted(this, Permission.READ_EXTERNAL_STORAGE)
|
|
|
+ || !XXPermissions.isGranted(this, Permission.WRITE_EXTERNAL_STORAGE)
|
|
|
+ || !XXPermissions.isGranted(this, Permission.READ_PHONE_STATE)
|
|
|
+ || !XXPermissions.isGranted(this, Permission.RECORD_AUDIO)
|
|
|
+ || !XXPermissions.isGranted(this, Permission.SYSTEM_ALERT_WINDOW)
|
|
|
+ ) {
|
|
|
+ Tool.INSTANCE.cmd("pm grant " + AppUtils.getAppPackageName() + " android.permission.READ_EXTERNAL_STORAGE");
|
|
|
+ Tool.INSTANCE.cmd("pm grant " + AppUtils.getAppPackageName() + " android.permission.WRITE_EXTERNAL_STORAGE");
|
|
|
+ Tool.INSTANCE.cmd("pm grant " + AppUtils.getAppPackageName() + " android.permission.READ_PHONE_STATE");
|
|
|
+ Tool.INSTANCE.cmd("pm grant " + AppUtils.getAppPackageName() + " android.permission.RECORD_AUDIO");
|
|
|
+ Tool.INSTANCE.cmd("pm grant " + AppUtils.getAppPackageName() + " android.permission.SYSTEM_ALERT_WINDOW");
|
|
|
+ requestPermissionCdTimer.start();
|
|
|
+ } else {
|
|
|
+ requestPermissionCdTimer.cancel();
|
|
|
+ initView();
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
private void initView() {
|