加入班级,一起学习鸿蒙开发!

场景介绍

气泡提醒开启定位是旅游园区类应用中高频使用的场景之一,如用户为了精准获取周边景点及住宿信息,需要打开定位权限。

本示例使用Popup实现气泡提示弹窗:在用户首次进入首页后,检查是否开启定位权限,没有开启则左上角地址弹出气泡,提示开启定位权限,开启权限后气泡不再提示。

效果预览

实现思路

  1. 生命周期函数aboutToAppear中调用函数checkPermissions()检查是否已经授权,若未授权,弹出气泡提示。
  1. 气泡弹出时,点击去打开按钮,请求位置权限代码,通过弹窗向用户申请权限。
    
      
    1. .bindPopup(this.handlePopup, {
    2. builder: this.locationPopupBuilder,
    3. placement: Placement.Bottom,
    4. offset: { x: 0, y: 0 },
    5. enableArrow: true,
    6. showInSubWindow: true,
    7. autoCancel: true,
    8. popupColor: 'rgba(56, 55, 54,0.9)',
    9. backgroundBlurStyle: BlurStyle.NONE,
    10. width: '96%',
    11. radius: 3,
    12. onStateChange: (e) => {
    13. if (!e.isVisible) {
    14. this.handlePopup = false
    15. }
    16. }
    17. })

约束与限制

  • 本示例支持API Version 16 Release及以上版本。
  • 本示例支持HarmonyOS 5.0.4 Release SDK及以上版本。
  • 本示例需要使用DevEco Studio 5.0.4 Release及以上版本进行编译运行。

权限说明

工程目录


  1. ├──entry/src/main/ets // 代码区
  2. │ ├──components
  3. │ │ └──LocationPopup.ets // 位置气泡组件
  4. │ ├──constant
  5. │ │ └──StyleConstant.ets // 常量
  6. │ ├──entryability
  7. │ │ └──EntryAbility.ets
  8. │ ├──pages
  9. │ │ └──TabIndex.ets // 主页
  10. │ └──view
  11. │ ├──HomePageView.ets // 首页内容模块
  12. │ └──TabMainView.ets // 首页Tab模块
  13. └──entry/src/main/resources // 应用资源目录

参考文档

Popup控制

代码下载

气泡提醒开启定位示例代码

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐