HarmonyOS学习路之开发篇—设备管理(设置项)

简介: 应用程序可以对系统各类设置项进行查询。例如,三方应用提前注册飞行模式设置项的回调,当用户通过系统设置修改终端的飞行模式状态时,三方应用会检测到此设置项发生变化并进行适配。如检测到飞行模式开启,将进入离线状态;检测到飞行模式关闭,其将重新获取在线数据。

设置项开发概述

应用程序可以对系统各类设置项进行查询。例如,三方应用提前注册飞行模式设置项的回调,当用户通过系统设置修改终端的飞行模式状态时,三方应用会检测到此设置项发生变化并进行适配。如检测到飞行模式开启,将进入离线状态;检测到飞行模式关闭,其将重新获取在线数据。


基本概念

系统设置数据项分为TTS(Text To Speech)、Wireless、Network、Input、Sound、Display、Date、Call、General九类,应用程序可以根据自身拥有的权限对其进行操作。


设置项开发

场景介绍

TTS、Wireless、Network、Input、Sound、Display、Date、Call、General九类定义了表征终端设备状态的相关字段,如屏幕亮度、日期格式、字体显示大小等,应用程序可以对其进行查询,并进行相应的场景适配。


接口说明

SystemSettings提供系统设置的相关接口,包括TTS、Wireless、Network、Input、Sound、Display、Date、Call、General九类字段的存储和检索接口。应用程序通过AppSettings类提供的方法对其自身的能力进行查询。


表1 SystemSettings的主要接口

image.png

表2 SystemSettings.TTS提供的典型字段

image.png

表3 SystemSettings.Wireless提供的典型字段

image.png

表4 SystemSettings.Network提供的典型字段

image.png

表5 SystemSettings.Input提供的典型字段

image.png

表6 SystemSettings.Sound提供的字段

image.png

表7 SystemSettings.Display提供的典型字段

image.png

表8 SystemSettings.Date提供的典型字段

image.png

表9 SystemSettings.General提供的典型字段

image.png

表10 SystemSettings.Call提供的典型字段

image.png

开发步骤

应用程序打开某个Slice时,在OnStart()时,注册相关设置项的回调,并读取一次该设置项的值,进行初始化适配。


@Override
public void onStart(Intent intent) {
    // ...
    dataAbilityHelper = DataAbilityHelper.creator(this);
    IDataAbilityObserver dataAbilityObserver = new IDataAbilityObserver() {
        @Override    
        public void onChange() {
            String timeFormat = SystemSettings.getValue(dataAbilityHelper, SystemSettings.Date.TIME_FORMAT);
            setTimeFormat(timeFormat);
        }
    };
    dataAbilityHelper.registerObserver(SystemSettings.getUri(SystemSettings.Date.TIME_FORMAT), dataAbilityObserver);
}
void setTimeFormat(String timeFormat) {
    String timeStr = "12";
    if (timeStr.equals(timeFormat)) {        
        // Display in 12-hour format
    } else {
        // Display in 24-hour format
    }
}


在onStop()时,解除回调注册。


dataAbilityHelper.unregisterObserver(SystemSettings.getUri(SystemSettings.Date.TIME_FORMAT), dataAbilityObserver);


相关文章
|
1月前
|
存储 前端开发 IDE
【华为鸿蒙系统学习】- 如何利用鸿蒙系统进行App项目开发|自学篇
【华为鸿蒙系统学习】- 如何利用鸿蒙系统进行App项目开发|自学篇
51 0
|
1月前
|
数据管理 API 调度
【华为鸿蒙系统学习】- HarmonyOS4.0开发|自学篇
【华为鸿蒙系统学习】- HarmonyOS4.0开发|自学篇
76 0
|
1月前
|
前端开发 JavaScript 开发者
鸿蒙2.0!用 JavaScript 开发鸿蒙应用
鸿蒙2.0!用 JavaScript 开发鸿蒙应用
|
1月前
|
开发者 索引 容器
【鸿蒙软件开发】Stage模型开发概述应用/组件级配置
【鸿蒙软件开发】Stage模型开发概述应用/组件级配置
【鸿蒙软件开发】Stage模型开发概述应用/组件级配置
|
1月前
|
人工智能 安全 开发者
中国移动APP启动鸿蒙原生应用开发,鸿蒙生态迎来通信领域民生应用
近日,在“鸿蒙生态全面合作签约暨开发启动仪式“上,中国移动通信有限公司在线营销服务中心宣布将与鸿蒙生态在技术互补、成果共享、商业共赢等方向进行合作,以共同推动鸿蒙智能化的移动开放生态业务发展,并正式启动中国移动APP鸿蒙原生应用及元服务开发。
|
3月前
|
安全 前端开发 Android开发
鸿蒙开发|鸿蒙系统的介绍(为什么要学习鸿蒙开发|鸿蒙系统的官方定义|鸿蒙和安卓、ios的对比)
鸿蒙开发学习是一项探索性的工作,旨在开发一个全场景分布式操作系统,覆盖所有设备,让消费者能够更方便、更直观地使用各种设备。
238 0
鸿蒙开发|鸿蒙系统的介绍(为什么要学习鸿蒙开发|鸿蒙系统的官方定义|鸿蒙和安卓、ios的对比)
|
3月前
|
文字识别 数据管理 API
双十一钜惠!三门不可多得的HarmonyOS学习教程
今年双十一,各大商城优惠不断。这里介绍三门不可多得的HarmonyOS学习教程,都有非常大的折扣优惠。
56 0
|
3月前
|
存储 前端开发 JavaScript
HarmonyOS UI 开发
HarmonyOS 提供了强大的 UI 开发工具和组件,使开发者能够创建吸引人的用户界面。本章将详细介绍在 HarmonyOS 中应用 JS、CSS、HTML,HarmonyOS 的 UI 组件以及如何自定义 UI 组件。
52 0
HarmonyOS UI 开发
|
6月前
|
IDE JavaScript API
HarmonyOS开发第一步,熟知开发工具DevEco Studio
本文主要以常见的功能点作为概述希望可以帮助到学习HarmonyOS的开发者。
170 0
|
6月前
|
Java 调度 数据安全/隐私保护
HarmonyOS学习路之开发篇—流转(多端协同 二)
完成 环境搭建,在DevEco Studio中,选择手机设备,Empty Feature Ability(Java)模板创建项目,在项目自动创建的MainAbility中实现IAbilityContinuation接口。

相关产品