Android RuntimePermissions运行时权限:批量权限申请详解手机开发
2023-06-13 09:20:06 时间
Android RuntimePermissions运行时权限:批量权限申请
绝大多数情况一个APP不可能只有单个权限,往往需要运行时批量申请n多个权限。比如在Androidmanifest里面写了两个权限:
uses-permission android:name= android.permission.CAMERA / uses-permission android:name= android.permission.WRITE_EXTERNAL_STORAGE /
那么在运行时申请权限,要点是把全部权限装入到一个String数据里面,批量做一次申请:
package zhangphil.permission; import android.Manifest; import android.os.Build; import android.support.v4.app.ActivityCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; public class MainActivity extends AppCompatActivity { private final String TAG = ZHANG PHIL private final int PERMISSION_REQUEST = 0xa00; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (Build.VERSION.SDK_INT = Build.VERSION_CODES.M) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST); } } @Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case PERMISSION_REQUEST: if (grantResults != null permissions != null) { for (int i = 0; i grantResults.length; i++) { Log.d(TAG, grantResults[ + i + ]: + grantResults[i]); Log.d(TAG, permissions[ + i + ]: + permissions[i]); } } break; } } }
代码运行结果logcat输出:
09-25 11:10:17.354 14247-14247/zhangphil.permission D/ZHANG PHIL: grantResults[0]:0 09-25 11:10:17.355 14247-14247/zhangphil.permission D/ZHANG PHIL: permissions[0]:android.permission.CAMERA 09-25 11:10:17.355 14247-14247/zhangphil.permission D/ZHANG PHIL: grantResults[1]:0 09-25 11:10:17.355 14247-14247/zhangphil.permission D/ZHANG PHIL: permissions[1]:android.permission.WRITE_EXTERNAL_STORAGE
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/3124.html
服务器部署程序员系统优化网站设置运维相关文章
- android系统开机画面_Android开机画面
- Android 加密 AES
- strictmode android,Android 应用性能优化-StrictMode(严格模式)
- android 混淆规则作用,Android代码混淆详解
- android onresume方法,Android onActivityResult()和onResume()的执行顺序
- strictmode android,(十三)Android 性能优化 StrictMode
- android 模拟器 haxm,Android模拟器不使用HAXM
- android短信验证码方案,Android开发之属于你的短信验证码(一)
- Android angle_android 界面悬停
- Android preference_android studio preview
- android activitymanager 系统api_Android view
- Android SDK Tools_android.intent.category.DEFAULT
- 【Android 安全】DEX 加密 ( DEX 加密原理 | DEX 加密简介 | APK 文件分析 | DEX 分割 )
- 【Android 安全】DEX 加密 ( Application 替换 | 获取 ContextImpl、ActivityThread、LoadedApk 类型对象 | 源码分析 )
- 【Android 安装包优化】WebP 图片格式兼容与性能 ( Android 中的 WebP 图片格式兼容问题 | Android 中的 WebP 图片格式性能 )
- 【错误记录】编译 Android 版本的 ijkplayer 报错 ( You must define ANDROID_NDK before starting. | 下载指定版本 NDK )
- 【错误记录】Android Studio 集成 ARoute 编译报错 ( 兼容 support 库和 androidx 库 | add ‘tools:replace=“android:appCo )
- 解析linux或android添加文件系统的属性接口的方法
- Android 7.0 应用启动流程分析详解手机开发
- android底部菜单栏实现原理与代码
- Android中使用pull解析器操作xml文件的解决办法
- Android自定义桌面功能代码实现
- android通过gps获取定位的位置数据和gps经纬度
- android开发教程之使用looper处理消息队列
- java批量采集豌豆荚网站Android应用图标和包名