flutter对android和ios的兼容好吗(Flutter实战经验十四)(1)

如果你有将app上传到华为/腾讯/Vivo 等其他主流厂商的经历,你就能看到下图的场景了。由于Android这几年对权限的管理越发严格,国家对这一块的管理也越发严格。app在上传应用市场时,如果涉及到一些敏感,隐私的权限,应用市场都会要求做出相应的原因和用途。如下图所示:

flutter对android和ios的兼容好吗(Flutter实战经验十四)(2)

阿里联盟上面要求的

然而由于有时候集成第三方的库,包,有限权限对于对Android不熟悉的人来说是比较难受的。因此本文将把Android上面的一些主要的权限说明,以及可能出现的场景,一一列举出来,供大家有同样问题的时候可以参考。

日历权限

android.permission.READ_CALENDAR

解释:读日历,允许应用获取用户日历数据。

android.permission.WRITE_CALENDAR

解释:写日历,允许应用编辑用户日历数据。
注:日历的读写操作,在日历应用中可以查看对应的日程。

相机

android.permission.CAMERA

解释:拍照权限 ,允许访问摄像头进行拍照。

通讯录

android.permission.READ_CONTACTS

解释:读取您的通讯录,允许用户获取用户通讯录数据。

android.permission.WRITE_CONTACTS

解释:修改通讯录,写入联系人,但不可读取。

  • 典型场景举例:
  1. 通过通讯录添加好友;
  2. 备份克隆联系人;
  3. 电话本管理;
  4. 办公软件添加获取联系人

android.permission.GET_ACCOUNTS

解释:查找设备上的帐户, 访问GMail账户列表。

  • 典型场景举例:
    允许应用从账户服务中获取应用账户列表:如google账号,微博帐号等列表,不包括微信账号和QQ账号和用户手动输入的电话号码等。
通话记录

android.permission.READ_CALL_LOG

解释:读取通话记录,授权应用可以读取用户通话记录信息。

android.permission.WRITE_CALL_LOG

解释:写入通话记录,授权应用可以读取用户通话记录信息。

  • 典型场景举例:
  1. 备份;
  2. 通话记录管理功能;
  3. 骚扰拦截:一般情况下会删除通话记录。
电话:

android.permission.CALL_PHONE

解释:直接拨打电话,授权应用可以不经过用户点击授权,直接拨打号码。
不建议使用此权限,推荐调起拨号盘,用户手动发起拨号。

  • 典型场景举例:
  1. 通讯录中直接拨打电话;
  2. 浏览器中直接拨打电话;
  3. 联系客服;

com.android.voicemail.permission.ADD_VOICEMAIL

解释:添加语言邮件,授权应用添加语音附件到邮件中。

  • 典型场景举例:
    1. 如定义,邮件场景。

    android.permission.USE_SIP

    解释:拨打/接听互联网通话 ,拨打、接听互联网通话。

  • 典型场景举例:
    1. 拨打SIP协议的互联网通话

    android.permission.PROCESS_OUTGOING_CALLS

    解释:重新设定呼出的路径,允许程序监视,修改或放弃播出电话

  • 典型场景举例:
    1. 儿童手表
    2. 呼出电话监听场景,通讯录

    android.permission.READ_PHONE_NUMBERS

    解释:读取电话号码。

    android.permission.ANSWER_PHONE_CALLS

    解释:接听来电,授权应用可以接听来电。

  • 典型场景举例:
    1. 车载模式下接听电话

    android.permission.MODIFY_PHONE_STATE

    解释:修改电话状态:如飞行模式,但不包含替换系统拨号器界面

    短信

    android.permission.SEND_SMS

    解释:发送短信,授权应用发送SMS短信。

  • 典型场景举例:
    1. 短信管理应用,如中国移动;
    2. 手机号码注册或登陆时的验证码场景,如AcFun应用,允许通过手机号 接收到的验证码来注册用户。
    3. 游戏软件中的短信支付场景。

    android.permission.RECEIVE_SMS

    解释:接收文字讯息(短信),授权应用接收SMS短信。

    android.permission.READ_SMS

    解释:读取您的文字讯息(短信或彩信),授权应用读取SMS短信。

  • 典型场景举例:
    1. 短信管理类应用,如中国移动,Go短信;
    2. 手机号码注册或登陆时的验证码场景,允许通过手机号 接收到的验证码来注册用户。

    android.permission.RECEIVE_WAP_PUSH

    解释:接收文字讯息 (WAP),授权应用接收WAP推送信息。

  • 典型场景举例:
    1. 短信管理类应用,如中国移动,Go短信;

    android.permission.RECEIVE_MMS

    解释:接收吻戏讯息(彩信),授权应用监听到来的彩信业务,拦截彩信接收信息。

  • 典型场景举例:
    1. 短信管理应用,如中国移动,运营商系列应用;

    android.permission.READ_CELL_BROADCASTS

    解释:读取小区广播消息 ,授权应用读取小区广播短信。



    传感器

    android.permission.BODY_SENSORS

    解释:人体传感器(如心跳速率检测器),授权应用访问那些被用于测量用户身体内部状况的传感器数据。一般特指心率传感器数据。

  • 典型场景举例:
    1. 运动/健康相关,用于显示用户的心率状况,如三星健康app。
    2. 可穿戴设备应用。
    存储

    android.permission.READ_EXTERNAL_STORAGE

    android.permission.WRITE_EXTERNAL_STORAGE

    解释:

    1. 读取您的 SD 卡中的内容;
    2. 修改或删除 SD 卡中的内容;

    典型场景举例:

    1. 下载文件场景,如浏览器从网络中下载文件到手机中。
    2. 阅读器场景,打开本地的文件。
    3. 游戏场景,需要下载大量资源并存储到SD卡上。
    4. 拍照场景,需要存储图片或打开照片。

    android.permission.MOUNT_UNMOUNT_FILESYSTEMS

    挂载文件系统 :挂载、反挂载外部文件系统

    android.permission.MOUNT_FORMAT_FILESYSTEMS

    格式化文件系统 :格式化可移动文件系统,比如格式化清空SD卡

    android.permission.KILL_BACKGROUND_PROCESSES

    位置

    android.permission.ACCESS_FINE_LOCATION

    解释:精准的 (GPS) 位置。通过GPS芯片接收卫星的定位信息,定位精度达10米以内

    android.permission.ACCESS_COARSE_LOCATION

    解释:(基于网络的) 大概位置。通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米

    典型场景举例:

    1. 步行、骑行、架车、公交等导航场景;
    2. 跑步、健走等运动健康场景;
    3. 停车场、美食、加油站、新闻等定位当前位置场景;
    4. 拍照场景,用于记录照片拍摄位置;
    5. 社交场景,用于主动分享位置信息;
    6. 情景智能,用于出行日程提醒
    录音

    android.permission.RECORD_AUDIO

    解释:录音,录制声音通过手机或耳机的麦克

    权限定义:授权应用可以使用麦克风。

    典型场景举例:
    1、录音机;
    2、语音助手功能,语音导航;
    3、语音通话,聊天
    4、录屏
    5、发音学习

    android.permission.MODIFY_AUDIO_SETTINGS

    解释:修改声音设置,修改声音设置信息

    设备管理器

    android.permission.BIND_DEVICE_ADMIN

    解释:绑定设备管理 ,请求系统管理员接收者receiver,只有系统才能使用。

    在其他应用上显示定义:该功能需要激活后生效,入口在设置中搜索(设备管理器)可以查看到该功能;
    1、删除设备数据
    2、设置锁屏密码规则;
    3、屏幕上锁
    系统默认是非激活状态,需要在设置中激活后功能才生效

    • 典型场景举例:
    1. 手机找回/查找我的手机功能,用于远程控制设备,恢复出厂设置等;
    2. 企业办公场景,如anyoffice,要求用户设置锁屏密码后才允许在设备上办公;
    显示系统窗口

    android.permission.SYSTEM_ALERT_WINDOW

    解释:在其他应用上覆盖显示,用户按home键或者back键后,该弹框仍显示在其他界面之上;

    • 典型场景举例:
    1. 微信视频聊天场景,home键之后,仍在桌面上有小窗体显示视频信息;
    2. 直播软件或者播放视频等小窗体播放场景;
    3. 录屏软件,有悬浮按钮,方便操作;
    4. 音乐软件在桌面上显示歌词;
    系统

    android.permission.WRITE_SETTINGS

    解释:修改系统设置,非隐私或者安全相关的设置项,该设置项会改变系统整体状态;此权限非动态弹框授权,需要到设置中打开开关;

    • 典型场景举例:
    1. 视频应用屏幕滑动调整音量和屏幕亮度;
    2. 音乐播放软件调整音量,设置铃声;
    3. 电子书籍应用可以调节音量,护眼模式,调整亮度等;;
    4. 设置桌面背景图片

    Android的权限太多,要分两三文写完。抱歉,见谅,待更新。请收藏,转发,让更多人学习。

    ,