我们在使用一些官方app时,刚下载进去之后经常会弹出各种各样的权限获取请求,今天简单学习了下,希望不会误人子弟哈哈哈哈。 一、将需要用到的权限添加到Manifest清单里 这一步很重要,本人Debug时发现如果缺少这步,进入
我们在使用一些官方app时,刚下载进去之后经常会弹出各种各样的权限获取请求,今天简单学习了下,希望不会误人子弟哈哈哈哈。
这一步很重要,本人Debug时发现如果缺少这步,进入界面后点击屏幕毫无反应......
private static final String[] REQUEST_PERMISSioNS = { Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.RECORD_AUDIO,};private static final int PERMISSION_REQUEST_CODE = 1;
同时将对应的权限放到1个String数组里,标记一个权限申请标识码。
在OnStart方法里判断权限是否申请过,如果没有,进行申请,申请的方法里用到了之前的String数组和权限申请标识码
@Overrideprotected void onStart() { super.onStart(); if (!hasPermissionsGranted(REQUEST_PERMISSIONS)) { Log.d(Tag,"-------activityCompat.requestPermissions--------"); ActivityCompat.requestPermissions(this, REQUEST_PERMISSIONS, PERMISSION_REQUEST_CODE); }}
hasPermissionsGranted()方法:遍历String里的权限检测是否已经授予。
public boolean hasPermissionsGranted(@NonNull String[] permissions) { for (String permission : permissions) { if (ActivityCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED) { return false; //此时没有授权,返回false } } return true; //已经授权过,返回true }
onRequestPermissionsResult()方法:在对应的Activity中获取到回调结果,通过标识码和hasPermissionsGranted()方法判断是否授予权限成功,失败则调用finish()方法退出应用。
@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { Log.d(Tag,"-------onRequestPermissionsResult--------"); if (requestCode == PERMISSION_REQUEST_CODE) { if (!hasPermissionsGranted(REQUEST_PERMISSIONS)) {//返回false代表申请失败 Toast.makeText(this, "授权失败", Toast.LENGTH_SHORT).show(); this.finish(); } } else { super.onRequestPermissionsResult(requestCode, permissions, grantResults); }}
综上一个简单的权限申请demo已经成功。后续也可以在定制化的申请弹窗方面研究一下。
如有错误和疑问,敬请矫正!
来源地址:https://blog.csdn.net/qq_45649553/article/details/131562408
--结束END--
本文标题: 安卓动态申请权限
本文链接: https://www.lsjlt.com/news/414486.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
一口价域名售卖能注册吗?域名是网站的标识,简短且易于记忆,为在线用户提供了访问我们网站的简单路径。一口价是在域名交易中一种常见的模式,而这种通常是针对已经被注册的域名转售给其他人的一种方式。
一口价域名买卖的过程通常包括以下几个步骤:
1.寻找:买家需要在域名售卖平台上找到心仪的一口价域名。平台通常会为每个可售的域名提供详细的描述,包括价格、年龄、流
443px" 443px) https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294.jpg https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294-768x413.jpg 域名售卖 域名一口价售卖 游戏音频 赋值/切片 框架优势 评估指南 项目规模
0