第一种方法: 资源搜索:github:PermissionGen(需要加的东西很多,代码量也没有少,只是可以做个参考)
第二种方法:自己封装(主要讲这种方法)
思路:主要分为3部分(1)判断应用中是否赋予过该权限 (2)请求权限 (3)对请求权限的结果进行处理
先继承 AppCompatActivity
public class MainActivity extends AppCompatActivity{
/** * 为子类提供权限检查方法 * @param permissions * @return */ public boolean hasPermission(String... permissions) { for (String permission : permissions) { //检查自身权限有没有被用户授予 if (ContextCompat.checkSelfPermission( this, permission ) != PackageManager.PERMISSION_GRANTED) { return false; } } return true; } /** * 为子类提供请求权限方法 * @param code * @param permissions */ public void requestPerssion(int code,String... permissions){ ActivityCompat.requestPermissions( this, permissions,code); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode){ case requestCode: //方法处理//这里写对请求之后的结果进行处理,即若用户允许,就可以调用;用户拒绝的话,就提示拒绝 break; } }
}
之后,在子类里面继承该类(即MainActivity)
在用到需要权限的地方调用并实现回调方法就可以啦。。。。。