Commit 9fc4140d authored by feihuaduo's avatar feihuaduo

更改决斗助手权限判断位置,如果8.0以上的机子未开启通知权限则不开决斗助手

更改权限申请
parent a0f630b0
...@@ -169,6 +169,8 @@ ...@@ -169,6 +169,8 @@
<activity <activity
android:name="cn.garymb.ygomobile.ui.mycard.mcchat.SplashActivity"/> android:name="cn.garymb.ygomobile.ui.mycard.mcchat.SplashActivity"/>
<activity android:name="cn.garymb.ygomobile.ui.activities.FileLogActivity"/> <activity android:name="cn.garymb.ygomobile.ui.activities.FileLogActivity"/>
<activity android:name="cn.garymb.ygomobile.ui.activities.PermissionsActivity"/>
<service <service
android:name="cn.garymb.ygomobile.ui.plus.ServiceDuelAssistant" android:name="cn.garymb.ygomobile.ui.plus.ServiceDuelAssistant"
android:priority="1000"/> android:priority="1000"/>
......
package cn.garymb.ygomobile.ui.activities; package cn.garymb.ygomobile.ui.activities;
import android.Manifest;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
...@@ -29,9 +30,17 @@ public class BaseActivity extends AppCompatActivity { ...@@ -29,9 +30,17 @@ public class BaseActivity extends AppCompatActivity {
private Toast mToast; private Toast mToast;
protected String[] getPermissions() { protected String[] getPermissions() {
return null; return PERMISSIONS;
} }
protected final String[] PERMISSIONS ={
// Manifest.permission.RECORD_AUDIO,
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.SYSTEM_ALERT_WINDOW,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
};
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
...@@ -164,6 +173,7 @@ public class BaseActivity extends AppCompatActivity { ...@@ -164,6 +173,7 @@ public class BaseActivity extends AppCompatActivity {
} }
} }
@SuppressLint("RestrictedApi")
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
@Override @Override
public void startActivityForResult(Intent intent, int requestCode, @Nullable Bundle options) { public void startActivityForResult(Intent intent, int requestCode, @Nullable Bundle options) {
...@@ -201,6 +211,7 @@ public class BaseActivity extends AppCompatActivity { ...@@ -201,6 +211,7 @@ public class BaseActivity extends AppCompatActivity {
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);
// 拒绝时, 关闭页面, 缺少主要权限, 无法运行 // 拒绝时, 关闭页面, 缺少主要权限, 无法运行
if (requestCode == REQUEST_PERMISSIONS && resultCode == PermissionsActivity.PERMISSIONS_DENIED) { if (requestCode == REQUEST_PERMISSIONS && resultCode == PermissionsActivity.PERMISSIONS_DENIED) {
showToast("喵不给我权限让我怎么运行?!");
finish(); finish();
} }
} }
......
...@@ -105,7 +105,7 @@ public class PermissionsActivity extends AppCompatActivity { ...@@ -105,7 +105,7 @@ public class PermissionsActivity extends AppCompatActivity {
allPermissionsGranted(); allPermissionsGranted();
} else { } else {
isRequireCheck = false; isRequireCheck = false;
showMissingPermissionDialog(); showMissingPermissionDialog(permissions);
} }
} }
...@@ -120,10 +120,13 @@ public class PermissionsActivity extends AppCompatActivity { ...@@ -120,10 +120,13 @@ public class PermissionsActivity extends AppCompatActivity {
} }
// 显示缺失权限提示 // 显示缺失权限提示
private void showMissingPermissionDialog() { private void showMissingPermissionDialog(String[] permissionList) {
AlertDialog.Builder builder = new AlertDialog.Builder(PermissionsActivity.this); AlertDialog.Builder builder = new AlertDialog.Builder(PermissionsActivity.this);
builder.setTitle(R.string.help); builder.setTitle(R.string.help);
builder.setMessage(R.string.string_help_text); String noPermission="";
for (String s:permissionList)
noPermission+="\n"+s;
builder.setMessage(getString(R.string.string_help_text)+noPermission);
// 拒绝, 退出应用 // 拒绝, 退出应用
builder.setNegativeButton(R.string.quit, new DialogInterface.OnClickListener() { builder.setNegativeButton(R.string.quit, new DialogInterface.OnClickListener() {
......
...@@ -75,6 +75,7 @@ import cn.garymb.ygomobile.ui.plus.ServiceDuelAssistant; ...@@ -75,6 +75,7 @@ import cn.garymb.ygomobile.ui.plus.ServiceDuelAssistant;
import cn.garymb.ygomobile.ui.preference.SettingsActivity; import cn.garymb.ygomobile.ui.preference.SettingsActivity;
import cn.garymb.ygomobile.utils.AlipayPayUtils; import cn.garymb.ygomobile.utils.AlipayPayUtils;
import cn.garymb.ygomobile.utils.FileLogUtil; import cn.garymb.ygomobile.utils.FileLogUtil;
import cn.garymb.ygomobile.utils.PermissionUtil;
import cn.garymb.ygomobile.utils.ScreenUtil; import cn.garymb.ygomobile.utils.ScreenUtil;
public abstract class HomeActivity extends BaseActivity implements NavigationView.OnNavigationItemSelectedListener { public abstract class HomeActivity extends BaseActivity implements NavigationView.OnNavigationItemSelectedListener {
...@@ -129,6 +130,7 @@ public abstract class HomeActivity extends BaseActivity implements NavigationVie ...@@ -129,6 +130,7 @@ public abstract class HomeActivity extends BaseActivity implements NavigationVie
checkPgyerUpdateSilent(getContext(), false, false, false); checkPgyerUpdateSilent(getContext(), false, false, false);
//ServiceDuelAssistant //ServiceDuelAssistant
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
if (PermissionUtil.isNotificationPermission(this)==null)
this.startForegroundService(new Intent(this, ServiceDuelAssistant.class)); this.startForegroundService(new Intent(this, ServiceDuelAssistant.class));
} else { } else {
startService(new Intent(this, ServiceDuelAssistant.class)); startService(new Intent(this, ServiceDuelAssistant.class));
......
...@@ -56,7 +56,7 @@ public class MainActivity extends HomeActivity{ ...@@ -56,7 +56,7 @@ public class MainActivity extends HomeActivity{
YGOStarter.onCreated(this); YGOStarter.onCreated(this);
mImageUpdater = new ImageUpdater(this); mImageUpdater = new ImageUpdater(this);
//动态权限 //动态权限
ActivityCompat.requestPermissions(this, PERMISSIONS, 0); // ActivityCompat.requestPermissions(this, PERMISSIONS, 0);
} }
@SuppressLint({"StringFormatMatches", "StringFormatInvalid"}) @SuppressLint({"StringFormatMatches", "StringFormatInvalid"})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment