Android 6.0常用权限获取工具类
来源:互联网 发布:淘宝顶级hifi音频总店 编辑:程序博客网 时间:2024/05/05 05:06
public class PermissionUtil { public static final String TAG = "Permission"; public interface RequestPermission { void onRequestPermissionSuccess(); } /** * 请求摄像头权限 */ public static void launchCamera(final RequestPermission requestPermission, RxPermissions rxPermissions, final IView view, RxErrorHandler errorHandler) { //先确保是否已经申请过摄像头,和写入外部存储的权限 boolean isPermissionsGranted = rxPermissions .isGranted(Manifest.permission.WRITE_EXTERNAL_STORAGE) && rxPermissions .isGranted(Manifest.permission.CAMERA); if (isPermissionsGranted) {//已经申请过,直接执行操作 requestPermission.onRequestPermissionSuccess(); } else {//没有申请过,则申请 rxPermissions .request(Manifest.permission.WRITE_EXTERNAL_STORAGE , Manifest.permission.CAMERA) .subscribe(new ErrorHandleSubscriber<Boolean>(errorHandler) { @Override public void onNext(Boolean granted) { if (granted) { Timber.tag(TAG).d("request WRITE_EXTERNAL_STORAGE and CAMERA success"); requestPermission.onRequestPermissionSuccess(); } else { view.showMessage("request permissons failure"); } } }); } } /** * 请求外部存储的权限 */ public static void externalStorage(final RequestPermission requestPermission, RxPermissions rxPermissions, final IView view, RxErrorHandler errorHandler) { //先确保是否已经申请过摄像头,和写入外部存储的权限 boolean isPermissionsGranted = rxPermissions .isGranted(Manifest.permission.WRITE_EXTERNAL_STORAGE); if (isPermissionsGranted) {//已经申请过,直接执行操作 requestPermission.onRequestPermissionSuccess(); } else {//没有申请过,则申请 rxPermissions .request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .subscribe(new ErrorHandleSubscriber<Boolean>(errorHandler) { @Override public void onNext(Boolean granted) { if (granted) { Timber.tag(TAG).d("request WRITE_EXTERNAL_STORAGE and CAMERA success"); requestPermission.onRequestPermissionSuccess(); } else { view.showMessage("request permissons failure"); } } }); } } /** * 请求发送短信权限 */ public static void sendSms(final RequestPermission requestPermission, RxPermissions rxPermissions, final IView view, RxErrorHandler errorHandler) {//先确保是否已经申请过权限 boolean isPermissionsGranted = rxPermissions .isGranted(Manifest.permission.SEND_SMS); if (isPermissionsGranted) {//已经申请过,直接执行操作 requestPermission.onRequestPermissionSuccess(); } else {//没有申请过,则申请 rxPermissions .request(Manifest.permission.SEND_SMS) .subscribe(new ErrorHandleSubscriber<Boolean>(errorHandler) { @Override public void onNext(Boolean granted) { if (granted) { Timber.tag(TAG).d("request SEND_SMS success"); requestPermission.onRequestPermissionSuccess(); } else { view.showMessage("request permissons failure"); } } }); } } /** * 请求打电话权限 */ public static void callPhone(final RequestPermission requestPermission, RxPermissions rxPermissions, final IView view, RxErrorHandler errorHandler) {//先确保是否已经申请过权限 boolean isPermissionsGranted = rxPermissions .isGranted(Manifest.permission.CALL_PHONE); if (isPermissionsGranted) {//已经申请过,直接执行操作 requestPermission.onRequestPermissionSuccess(); } else {//没有申请过,则申请 rxPermissions .request(Manifest.permission.CALL_PHONE) .subscribe(new ErrorHandleSubscriber<Boolean>(errorHandler) { @Override public void onNext(Boolean granted) { if (granted) { Timber.tag(TAG).d("request SEND_SMS success"); requestPermission.onRequestPermissionSuccess(); } else { view.showMessage("request permissons failure"); } } }); } } /** * 请求获取手机状态的权限 */ public static void readPhonestate(final RequestPermission requestPermission, RxPermissions rxPermissions, RxErrorHandler errorHandler) {//先确保是否已经申请过权限 boolean isPermissionsGranted = rxPermissions .isGranted(Manifest.permission.READ_PHONE_STATE); if (isPermissionsGranted) {//已经申请过,直接执行操作 requestPermission.onRequestPermissionSuccess(); } else {//没有申请过,则申请 rxPermissions .request(Manifest.permission.READ_PHONE_STATE) .subscribe(new ErrorHandleSubscriber<Boolean>(errorHandler) { @Override public void onNext(Boolean granted) { if (granted) { Timber.tag(TAG).d("request SEND_SMS success"); requestPermission.onRequestPermissionSuccess(); } else { Timber.tag(TAG).e("request permissons failure"); } } }); } }}
0 0
- Android 6.0常用权限获取工具类
- 获取root权限工具类
- android 6.0 权限获取
- Android 6.0获取权限
- Android常用权限获取和设置
- android 6.0 权限请求工具类
- Android获取本机常用属性的工具类
- Android 获取创建各种存储路径工具类(内置权限获取)
- android动态权限工具类
- android 权限请求工具类
- Android 权限检查工具类
- 动态获取权限工具类及其使用
- Android工具类-权限工具类
- Android 6.0权限的获取
- android 6.0 动态权限获取
- Android 6.0获取动态权限
- android 6.0权限动态获取
- Android 6.0权限动态获取
- mybatis核心组件生命周期管理
- 响应字体大小(移动端)
- crf的Python实现代码
- SuperMap IServer的简单应用
- 55. Jump Game
- Android 6.0常用权限获取工具类
- C++编写蓝图 多个数字输出
- 嵌套循环输出2~100之间的素数:
- 微信小程序入门二UI框架
- 用el表达式平凑字符串
- 电力行业三次谐波计算
- LightMap烘焙
- Spring Property配置
- 美食地图-Double Time魔时餐厅