第三百四十一回

文章目录

  • 1. 概念介绍
  • 2. 使用方法与主要功能
    • 2.1 使用方法
    • 2.2 主要功能
  • 3. 示例代码
  • 4. 内容总结

我们在上一章回中介绍了"如何获取App自身信息"相关的内容,本章回中将介绍一个三方包:open_setting.闲话休提,让我们一起Talk Flutter吧。

1. 概念介绍

我们在本章回中介绍的包是open_seetings,该包主要用来打开手机中革个功能的设置页面,比如声音设备,应用设置等。如果使用原生开发方式,打开手机中的设置页
面有专门的API;如果使用Flutter进行混合开发则没有相关的API。该包就是为了解决这个问题而创建的,全章回中将详细该包的使用方法。

在这里插入图片描述

2. 使用方法与主要功能

2.1 使用方法

该包的使用方法也比较简单,只需要直接调用包中的方法就可以跳转相应的功能设置页面,因为这些方法都是静态方法,我们将在后面的小节中通过具体的示例代码来演示。
此外,包中把这些方法封装成了Future,因此可以通过Future来获取打开功能设置的结果。

2.2 主要功能

我们查看了该包的源代码,从源代码中找出了打开手机中相关设置的方法,详细如下:

 /// Open Wifi settingsstatic Future<void> openWIFISetting() async {await _channel.invokeMethod('openSettings', 'wifi');}/// Open location source settingsstatic Future<void> openLocationSourceSetting() async {await _channel.invokeMethod('openSettings', 'location_source');}/// Open app settingsstatic Future<void> openAppSetting() async {await _channel.invokeMethod('openSettings', 'app_settings');}/// Open Bluetooth settingsstatic Future<void> openBluetoothSetting() async {await _channel.invokeMethod('openSettings', 'bluetooth');}/// Open Notification settingsstatic Future<void> openNotificationSetting() async {_channel.invokeMethod('openSettings', 'notification');}/// Open sound Screen settingsstatic Future<void> openSoundSetting() async {_channel.invokeMethod('openSettings', 'sound');}/// Open main settingsstatic Future<void> openMainSetting() async {_channel.invokeMethod('openSettings', 'settings');}/// Open Date settingsstatic Future<void> openDateSetting() async {_channel.invokeMethod('openSettings', 'date');}/// Open Display settingsstatic Future<void> openDisplaySetting() async {_channel.invokeMethod('openSettings', 'display');}/// Open airplane mode settingsstatic Future<void> openAirplaneModeSetting() async {_channel.invokeMethod('openSettings', 'airplane_mode');}/// Open apn settingsstatic Future<void> openApnSetting() async {_channel.invokeMethod('openSettings', 'apn');}/// Open application details settingsstatic Future<void> openApplicationDetailsSetting() async {_channel.invokeMethod('openSettings', 'application_details');}/// Open application development settingsstatic Future<void> openApplicationDevelopmentSetting() async {_channel.invokeMethod('openSettings', 'application_development');}/// Open app_notification_bubble settingsstatic Future<void> openAppNotificationBubbleSetting() async {_channel.invokeMethod('openSettings', 'app_notification_bubble');}/// Open app_notification settingsstatic Future<void> openAppNotificationSetting() async {_channel.invokeMethod('openSettings', 'app_notification');}/// Open search settingsstatic Future<void> openSearchSetting() async {_channel.invokeMethod('openSettings', 'search');}/// Open battery_saver settingsstatic Future<void> openBatterySaverSetting() async {_channel.invokeMethod('openSettings', 'battery_saver');}/// Open channel_notification settingsstatic Future<void> openChannelNotificationSetting() async {_channel.invokeMethod('openSettings', 'channel_notification');}/// Open device_info settingsstatic Future<void> openDeviceInfoSetting() async {_channel.invokeMethod('openSettings', 'device_info');}/// Open hard_keyboard settingsstatic Future<void> openHardKeyboardSetting() async {_channel.invokeMethod('openSettings', 'hard_keyboard');}/// Open home settingsstatic Future<void> openHomeSetting() async {_channel.invokeMethod('openSettings', 'home');}

上面的接口全面来自源代码,我只列出了其中的一部分,大家可以从源代码中获取到更多的内容。此外,代码中添加了注释,以方便大家理解接口的功能。

3. 示例代码

///打开手机中的蓝牙设置功能
ElevatedButton(onPressed: (){OpenSettings.openBluetoothSetting();},child: const Text("Open BT"),
),

上面的示例代码中演示了如何打开手机中蓝牙功能的设置页面,运行该程序就会看到一个名叫"Open BT"按钮,点击该按钮后就可以跳转到手机中蓝牙功能设置页面。建
议大家自己动手去实践,比如打开声音设置页面。

4. 内容总结

我们在本章回中介绍这个包主要是为了打开手机中蓝牙功能的设置页面,因为在前面章回中介绍蓝牙操作时提起过。当然了,该包的功能比较多,可以通过该包打开其它
的功能设置页面。最后,我们对本章回的内容做一个全面总结:

  • FlutterSDK没有想原生SDK一样提供打开手机设置功能的接口;
  • 可以使用三方包open_settings打开手机设置功能页面;
  • 包中提供的功能接口是静态的,可以通过包名直接使用;
    看官们,与"介绍一个三方包open_settings"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/315915.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习-基础学习】Self-Attention 自注意力机制 笔记

本篇文章学习总结 李宏毅 2021 Spring 课程中关于 Self-Attention 自注意力 机制相关的内容。课程链接以及PPT&#xff1a;李宏毅Spring2021ML 关于 Self-Attention 机制想要解决的问题 通常来说&#xff0c; 我们的模型的输入会是一个vector&#xff0c;然后输出可能是 一个数…

大数据StarRocks(一) StarRocks概述

1 StarRocks介绍 StarRocks是新一代极速全场景MPP(Massively Parallel Processing)数据库&#xff0c;它充分吸收关系型OLAP数据库和分布式存储系统在大数据时代的优秀研究成果&#xff0c;在业界实践的基础上&#xff0c;进一步改进优化、升级架构&#xff0c;并增添了众多全…

【HarmonyOS开发】共享包HAR和HSP的创建和使用以及三方库的发布

OpenHarmony提供了两种共享包&#xff0c;HAR&#xff08;Harmony Archive&#xff09;静态共享包&#xff0c;和HSP&#xff08;Harmony Shared Package&#xff09;动态共享包。 HAR与HSP都是为了实现代码和资源的共享&#xff0c;都可以包含代码、C库、资源和配置文件&…

数据结构——顺序队列与链式队列的实现

目录 一、概念 1、队列的定义 2、队首 3、队尾 二、接口 1、可写接口 1&#xff09;数据入队 2&#xff09;数据出队 3&#xff09;清空队列 2、只读接口 1&#xff09;获取队首数据 2&#xff09;获取队列元素个数 3&#xff09;队列的判空 三、队列的顺序表实现…

python封装接口自动化测试套件

在Python中&#xff0c;我们可以使用requests库来实现接口自动化测试&#xff0c;并使用unittest或pytest等测试框架来组织和运行测试套件。以下是一个基本的接口自动化测试套件封装示例&#xff1a; 首先&#xff0c;我们需要安装所需的库&#xff1a; pip install requests …

克隆clone github上某个项目的子目录

有时会遇到只需要克隆github某个项目的子目录&#xff0c;此时可以使用以下方法实现&#xff1a; 需求示例&#xff1a; 现需要克隆&#xff1a;https://github.com/SingleZombie/DL-Demos项目中的ddim项目 注&#xff1a;ddim项目的地址为&#xff1a;https://github.com/Sing…

Adobe Photoshop 2017(PS2017)安装包下载及安装教程

Photoshop 2017下载链接&#xff1a;https://docs.qq.com/doc/DUmVpdUVNbU1wTG10 1.选中下载的压缩包&#xff0c;然后鼠标右键选择解压到“Photoshop CC2017“文件夹 2.双击打开“Photoshop CC2017”文件夹 3.再次打开“Setup”文件夹 4.选中“Setup.exe”右键选择以管理员身份…

关于Python里xlwings库对Excel表格的操作(二十五)

这篇小笔记主要记录如何【如何使用xlwings库的“Chart”类创建一个新图表】。 前面的小笔记已整理成目录&#xff0c;可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 &#xff08;1&#xff09;如何安装导入xlwings库&#xff1b; &#xff08;2…

解决Android AAPT: error: resource android:attr/lStar not found. 问题

错误信息 /xxx/gjc/.gradle/caches/transforms-2/files-2.1/930c42acd29d295ce5bc495c3b84423e/core-1.9.0/res/values/values.xml:104:5-113:25: AAPT: error: resource android:attr/lStar not found. not found 资源位置 场景 原Android studio中的项目都是在git上面拉的老项…

【逆向】C与汇编的关系

程序1 使用 VC6.0 编译如下程序&#xff08;使用 VC6.0 的原因是该编译器不会对代码进行过多的优化&#xff0c;因此适合逆向入门&#xff09; // 01.cpp : Defines the entry point for the console application. // # include "stdafx.h"int main(int argc, char…

LeetCode第32题 : 最长有效括号

题目介绍 给你一个只包含 ( 和 ) 的字符串&#xff0c;找出最长有效&#xff08;格式正确且连续&#xff09;括号子串的长度。 示例 1&#xff1a; 输入&#xff1a;s "(()" 输出&#xff1a;2 解释&#xff1a;最长有效括号子串是 "()" 示例 2&#xf…

智能语音信息处理团队EMNLP 2023入选论文解析

2023年12月6日至10日&#xff0c;自然语言处理领域顶会EMNLP 2023在新加坡举行。语音及语言信息处理国家工程研究中心智能语音信息处理团队共3篇论文被会议主会及Findings接收&#xff0c;论文方向涵盖多方对话、大语言模型应用、小说理解等&#xff0c;各接收论文解读见后文。…