【HarmonyOS NEXT】API 11 跳轉系統設定定位服務頁面示例

Mayism123發表於2024-03-21
【關鍵字】

HarmonyOS NEXT、系統設定、定位服務

【問題背景】

某些開發者根據業務邏輯,需要檢測使用者是否開啟定位服務開關,如果沒有開啟,需要引導使用者跳轉至系統頁面開啟定位服務,今天就給大家提供一個跳轉至設定-隱私-位置服務頁面的示例demo。

【示例程式碼】

import { Want , common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

// 拉起設定-隱私-位置服務頁面
function startSettingsLocationSettingsAbilityExplicit(context: common.UIAbilityContext): void {
  let want: Want = {
    bundleName: 'com.huawei.hmos.settings',
    abilityName: 'com.huawei.hmos.settings.MainAbility',
    uri: 'location_manager_settings' // 根據設定介面的不同選擇不同的uri
  };
  context.startAbility(want)
    .then(() => {
      // ...
    })
    .catch((err: BusinessError) => {
      console.error(`Failed to startAbility. Code: ${err.code}, message: ${err.message}`);
    });
}

@Entry
@Component
struct Index {
  @State message: string = '跳轉定位服務';

  build() {
    Row() {
      Column() {
        Button(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .onClick(() => {
            const context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
            startSettingsLocationSettingsAbilityExplicit(context);
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}
【HarmonyOS NEXT】API 11 跳轉系統設定定位服務頁面示例

【示例效果】

【HarmonyOS NEXT】API 11 跳轉系統設定定位服務頁面示例

拉起其他設定應用中的常用介面可參考【參考文件】這塊內容。

【參考文件】

如何拉起設定應用的常用介面:

https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs/faqs-ability-kit-0000001769732194#section858910165268

相關文章