将权限申请添加到具体触发的位置

This commit is contained in:
chenjuntao
2019-07-16 17:39:52 +08:00
parent 6c5da2d787
commit 1244d838ec
9 changed files with 157 additions and 79 deletions

View File

@ -8,17 +8,18 @@ import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.provider.Settings;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import com.gh.base.BaseActivity;
import com.gh.common.util.DataUtils;
import com.gh.common.util.DeviceTokenUtils;
@ -36,13 +37,11 @@ import com.gh.gamecenter.user.UserRepository;
import com.halo.assistant.HaloApp;
import com.lightgame.download.DownloadEntity;
import com.lightgame.download.FileUtils;
import com.lightgame.utils.AppManager;
import com.lightgame.utils.Utils;
import com.qq.gdt.action.ActionType;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
@ -66,20 +65,6 @@ public class SplashScreenActivity extends BaseActivity {
private String[] mPermissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.READ_PHONE_STATE};
public static Intent[] getRedirectIntents(Context context, Uri uri) {
List<Intent> intentList = new ArrayList<>();
if (AppManager.getInstance().isEmpty()) {
intentList.add(BaseActivity.getReorderToFrontIntent(context, SplashScreenActivity.class));
intentList.add(BaseActivity.getReorderToFrontIntent(context, MainActivity.class));
}
// if (uri != null && !TextUtils.isEmpty(uri.toString())) {
// intentList.add(NavigationActivity.getNavigateUriIntent(context, uri));
// }
return intentList.toArray(new Intent[intentList.size()]);
}
public static Intent getSplashScreenIntent(Context context, Bundle bundle) {
Intent intent = new Intent(context, SplashScreenActivity.class);
intent.setAction(Intent.ACTION_MAIN);
@ -99,11 +84,6 @@ public class SplashScreenActivity extends BaseActivity {
UserRepository.getInstance(getApplication()); // 初始化登录
// if (!AppManager.getInstance().isEmpty()) {
// redirectAndFinish(getRedirectIntents(this, getIntent().getData()));
// return;
// }
// 处理助手已经在后台运行导致的再次启动助手
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
finish();
@ -251,17 +231,17 @@ public class SplashScreenActivity extends BaseActivity {
@Override
public void onPermissionsDenied(int requestCode, List<String> perms) {
if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) { // 设置"不要再询问",必须手动到系统设置授权
DialogUtils.showPermissionDialog(this, "重要提醒",
"请授予光环助手权限,否则将无法使用\n请点击\"设置\"-\"应用\"-\"光环助手\"-\"权限\"-打开所需权限", "去设置", "退出",
DialogUtils.showPermissionDialog(this, "权限申请",
"光环助手需要获取(存储空间权限)和(设备信息),以保证游戏的正常下载以及您的账号安全", "去设置", "放弃",
() -> {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivity(intent);
}, this::finish);
}, this::launch);
} else {
DialogUtils.showPermissionDialog(this, "重要提醒",
"请授予光环助手权限,否则将无法使用", "重试", "退出",
this::checkAndRequestPermission, this::finish);
DialogUtils.showPermissionDialog(this, "权限申请",
"在设置-应用-光环助手-权限中开启存储和手机信息权限,以保证能正常使用相关功能", "重试", "放弃",
this::checkAndRequestPermission, this::launch);
}
}