|
安卓6.0有些危险权限需要使用的时候用户授权 这个大家应该都知道 这里把这个授权操作封装一个activity基类 需要授权的集成这个类就可以了 减少很多代码
- package com.hh85.mamaquan;
- import android.content.pm.PackageManager;
- import android.os.Build;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.annotation.Nullable;
- import android.support.v4.app.ActivityCompat;
- import android.support.v7.app.AppCompatActivity;
- import android.widget.Toast;
- /**
- * Created by tangyunfei on 2016/8/21.
- */
- public class BaseActivity extends AppCompatActivity {
- private int RQUEST_PERMISSION_CODE = 0;
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- }
- /**
- * 获取权限
- */
- protected void getPermissions(String permission,int RQUEST_PERMISSION_CODE){
- this.RQUEST_PERMISSION_CODE = RQUEST_PERMISSION_CODE;
- ActivityCompat.requestPermissions(this,new String[]{permission},RQUEST_PERMISSION_CODE);
- }
- /**
- * 检查权限是否授权
- * @return
- */
- protected boolean checkPermissions(String permission){
- if (Build.VERSION.SDK_INT>=23){
- if(ActivityCompat.checkSelfPermission(this,permission)== PackageManager.PERMISSION_GRANTED){
- return true;
- }else{
- return false;
- }
- }else{
- return true;
- }
- }
- //验证权限用户是否允许授权
- private static boolean verifyPermissions(int[] grantResults) {
- // At least one result must be checked.
- if(grantResults.length < 1){
- return false;
- }
- // Verify that each required permission has been granted, otherwise return false.
- for (int result : grantResults) {
- if (result != PackageManager.PERMISSION_GRANTED) {
- return false;
- }
- }
- return true;
- }
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- super.onRequestPermissionsResult(requestCode, permissions, grantResults);
- if(requestCode == RQUEST_PERMISSION_CODE){
- if(verifyPermissions(grantResults)){
- permissionSuccess(RQUEST_PERMISSION_CODE);
- Toast.makeText(getBaseContext(),"授权成功",Toast.LENGTH_SHORT).show();
- }else{
- permissionError(RQUEST_PERMISSION_CODE);
- Toast.makeText(getBaseContext(),"您禁用了授权",Toast.LENGTH_SHORT).show();
- }
- }
- }
- /**
- * 用户允许授权
- */
- protected void permissionSuccess(int RQUEST_PERMISSION_CODE){
- }
- /**
- * 用户不允许授权
- */
- protected void permissionError(int RQUEST_PERMISSION_CODE){
- }
- }
复制代码
|
|