Android 6.0及以上 权限适配
This commit is contained in:
@ -2,6 +2,8 @@ package com.gh.base;
|
||||
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.ActivityCompat;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.widget.TextView;
|
||||
@ -28,13 +30,16 @@ import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.ButterKnife;
|
||||
import pub.devrel.easypermissions.AfterPermissionGranted;
|
||||
import pub.devrel.easypermissions.EasyPermissions;
|
||||
|
||||
import static com.gh.common.util.EntranceUtils.KEY_DATA;
|
||||
import static com.gh.common.util.EntranceUtils.KEY_ENTRANCE;
|
||||
|
||||
public abstract class BaseActivity extends BaseAppCompatToolBarActivity {
|
||||
public abstract class BaseActivity extends BaseAppCompatToolBarActivity implements EasyPermissions.PermissionCallbacks{
|
||||
|
||||
protected String mEntrance;
|
||||
private boolean mIsPause;
|
||||
@ -178,4 +183,41 @@ public abstract class BaseActivity extends BaseAppCompatToolBarActivity {
|
||||
// DownloadManager.getInstance(this).initGameMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPermissionsDenied(int requestCode, List<String> perms) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPermissionsGranted(int requestCode, List<String> perms) {
|
||||
|
||||
}
|
||||
|
||||
// tag: 防止一个页面可以多次调用
|
||||
protected void checkPermissions(String[] permissions, String tag) {
|
||||
if (EasyPermissions.hasPermissions(this, permissions)) {
|
||||
onPermissionsSuccess(tag);
|
||||
} else {
|
||||
checkAndRequestPermission(permissions, tag);
|
||||
}
|
||||
}
|
||||
|
||||
private final static int REQUEST_PERMISSION_TAG = 10012;
|
||||
@AfterPermissionGranted(REQUEST_PERMISSION_TAG)
|
||||
private void checkAndRequestPermission(String[] permissions, String tag) {
|
||||
if (EasyPermissions.hasPermissions(this, permissions)) {
|
||||
onPermissionsSuccess(tag);
|
||||
} else {
|
||||
ActivityCompat.requestPermissions(this, permissions, REQUEST_PERMISSION_TAG);
|
||||
}
|
||||
}
|
||||
|
||||
// 权限申请成功回调
|
||||
protected void onPermissionsSuccess(String tag){}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user