开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
基础 api
基础
应用级事件
界面
跳转
多媒体
缓存
文件
位置
网络
设备
系统信息
网络状态
截屏
剪贴板
摇一摇
振动
加速度计
陀螺仪
罗盘
设备方向
拨打电话
获取服务器时间
用户截屏事件
屏幕亮度
设置
添加手机联系人
无障碍
权限引导
扫码
内存不足告警
获取设备电量
蓝牙
wi-fi
短信
worker
数据安全
分享
收藏
自定义通用菜单
更新管理
web-view组件控制
升级支付宝最新版本
隐私信息授权
小程序广告
开放能力 api
开发 > api > 基础 api > 设备 > 权限引导 > my.showauthguide
评论
收藏
我的文档
设置

my.showauthguide(object object)

支付宝客户端 10.0.18 或更高版本; 若版本较低,建议采取 兼容处理

支小宝客户端 支持

安诊儿客户端 支持

主体: 企业支付宝小程序个人支付宝小程序

相关文档: my.getsysteminfomy.getsetting

弹出图文提示对话框,引导用户打开并授予支付宝指定权限

小程序中的部分 api(如 my.chooseimage、my.chooselocation 等)或功能涉及手机上特定设备/隐私数据的使用,需要用户在系统设置里开启相关功能/授权给支付宝。如果相关权限缺失,而该权限对于小程序的使用又不可缺少,建议使用 my.showauthguide 给予用户引导

  • 调用 my.showauthguide 时,如果指定的权限类型已被授予,在 ios 上不会再次弹出引导,但在 android 的某些版本/机型上针对部分权限每次都会弹出引导。因而,请先通过 my.getsysteminfo 判断权限开启/授予情况,或在目标 api 调用失败以后,再酌情调用 my.showauthguide。可点此查看示例。
  • my.chooseimage 等 api 的成功调用也依赖用户在支付宝里授权给当前小程序,可点此查看示例,相关内容可参考 my.getsetting 文档简介部分的描述。

object object

查看示例

属性 类型 默认值 必填 描述
authtype string -

引导的权限标识,用于标识该权限类型

枚举值 描述 兼容性
bluetooth

蓝牙权限
可通过my.caniuse('showauthguide.object.authtype.bluetooth') 检测

基础库: 2.7.10
支付宝: 10.2.33
shortcut

创建桌面快捷方式,仅支持安卓
部分机型系统设置中没有“创建桌面快捷方式”选项,一般为默认有权限或者使用时询问用户

-
notification

push 通知栏权限

-
microphone

麦克风权限

-
addressbook

通讯录权限

-
camera

相机权限

-
photo

相册权限。仅支持 ios

-
lbs

地理位置应用级别开关

-
lbshighaccuracy

精确位置
鸿蒙系统上精确位置枚举值为"location"

支付宝: 安卓 10.6.20
success function -

调用成功的回调函数

fail function -

调用失败的回调函数

complete function -

调用结束的回调函数(调用成功、失败都会执行)

success 回调函数

参数

object res

属性 类型 描述
shown boolean

是否已显示 引导授权 弹框

fail 回调的参数为 object,error 属性为错误码,errormessage 属性为错误消息。

错误码 错误消息 凯发app官方网站的解决方案
2 参数错误

请使用文档中提供的 authtype 类型。

在线示例
代码示例
my.showauthguide(object object)
先判断是否授权再打开授权
失败后引导授权
my.showauthguide({
  authtype: "lbs"
});
page({
  getlocationexample1() {
    my.getsysteminfo({
      success(res) {
        if (res.locationenabled && res.locationauthorized) {
          my.getlocation({
            complete: (res) => my.alert({ title: "getlocation compete", content: json.stringify(res)}),
          });
        } else {
          console.log(`${res.locationenabled} ? "定位权限未授予支付宝" : "定位功能未开启"`);
          my.showauthguide({ authtype: "lbs" });
        }
      }
    });
  },
});
page({
  getlocationexample2() {
    my.getlocation({
      success: (res) => my.alert({ title: "getlocation success", content: json.stringify(res) }),
      fail: (res) => {
        if (res.error == 11) {
          console.error("定位功能未开启或定位权限未授予支持宝");
          my.showauthguide({ authtype: "lbs" });
        } else {
          console.error('getlocation failed: ', json.stringify(res));
        }
      }
    });
  },
});
  • tip
    调用 my.showauthguide 时,如果指定的权限类型已被授予,在 ios 上不会再次弹出引导,但在 android 的某些版本/机型上针对部分权限每次都会弹出引导。因而,请先通过 my.getsysteminfo 判断权限开启/授予情况,或在目标 api 调用失败以后,再酌情调用 my.showauthguide。
  • tip
    my.chooseimage 等 api 的成功调用也依赖用户在支付宝里授权给当前小程序,相关内容可参考 my.getsetting 文档简介部分的描述。
  • tip
    可通过 my.caniuse('showauthguide.object.authtype.bluetooth') 检测蓝牙的引导权限是否支持。
  • tip
    在 ios 设备中,如果从未尝试使用过某个系统权限,则该权限在应用的系统级权限设置页面里不会罗列,这是 ios 系统特性。 建议在 ios 端尽量不要在使用某个系统权限之前申请权限,避免用户在应用的系统级权限设置页面里找不到该系统权限。
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图