Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-uni-app-x-zh
提交
2e542512
U
unidocs-uni-app-x-zh
项目概览
DCloud
/
unidocs-uni-app-x-zh
通知
144
Star
2
Fork
33
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
9
列表
看板
标记
里程碑
合并请求
11
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-uni-app-x-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
9
Issue
9
列表
看板
标记
里程碑
合并请求
11
合并请求
11
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
2e542512
编写于
7月 01, 2024
作者:
taohebin@dcloud.io
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: android权限适配文档
上级
010703ff
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
56 addition
and
0 deletion
+56
-0
docs/native/permission/android_permission_adapter.md
docs/native/permission/android_permission_adapter.md
+56
-0
未找到文件。
docs/native/permission/android_permission_adapter.md
0 → 100644
浏览文件 @
2e542512
## Android端权限适配
由于历史原因,Android端在不同版本下权限的配置较为复杂,所以归纳出常用的权限以示说明。附:
[
Android端权限配置
](
https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html#permissions
)
### 相册权限
-
19-23版本
-
只需要
`AndroidManifest.xml`
内注册
`READ_EXTERNAL_STORAGE`
权限,就可以访问相册。
-
23-29
-
`READ_EXTERNAL_STORAGE`
为敏感权限,所以需要动态申请权限。
-
29-33
-
通过
`Media Store Api`
访问相册
-
访问自己App添加的相册不需要任何权限,
-
访问其他App的照片需要动态申请
`READ_EXTERNAL_STORAGE`
权限
-
33
-
细化相册权限,废弃
`READ_EXTERNAL_STORAGE`
,新增
`READ_MEDIA_IMAGES`
、
`READ_MEDIA_VIDEO`
、
`READ_MEDIA_AUDIO`
-
34
-
新增
`READ_MEDIA_VISUAL_USER_SELECTED`
总结一下,把需要的权限全部添加进来以适配各个版本,如下:
```
xml
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion=
"32"
/>
<uses-permission
android:name=
"android.permission.READ_MEDIA_IMAGES"
/>
<uses-permission
android:name=
"android.permission.READ_MEDIA_VIDEO"
/>
<uses-permission
android:name=
"android.permission.READ_MEDIA_VISUAL_USER_SELECTED"
/>
</manifest>
```
### 蓝牙权限
-
19-23
-
只需要
`AndroidManifest.xml`
内注册
`BLUETOOTH`
、
`BLUETOOTH_ADMIN`
权限即可。
-
23-31
-
需要动态申请位置权限
`ACCESS_FINE_LOCATION`
-
31
-
不再需要动态申请
`ACCESS_FINE_LOCATION`
,新增权限
`BLUETOOTH_SCAN`
、
`BLUETOOTH_CONNECT`
综上所述,配置如下:
```
xml
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
>
<uses-permission
android:name=
"android.permission.ACCESS_FINE_LOCATION"
/>
<uses-permission
android:name=
"android.permission.BLUETOOTH"
android:maxSdkVersion=
"30"
/>
<uses-permission
android:name=
"android.permission.BLUETOOTH_ADMIN"
android:maxSdkVersion=
"30"
/>
<uses-permission
android:name=
"android.permission.BLUETOOTH_SCAN"
android:usesPermissionFlags=
"neverForLocation"
/>
<uses-permission
android:name=
"android.permission.BLUETOOTH_CONNECT"
/>
</manifest>
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录