{"_id":"@capacitor-ohos/native-settings","_rev":"2-a12a595e1be05e69eb935332e445ae1c","name":"@capacitor-ohos/native-settings","dist-tags":{"latest":"8.0.1"},"versions":{"8.0.0":{"name":"@capacitor-ohos/native-settings","version":"8.0.0","keywords":["capacitor","plugin","native"],"author":{"url":"Group","name":"Huawei Device Co., Ltd and iSoftStone Information Technology"},"license":"MIT","_id":"@capacitor-ohos/native-settings@8.0.0","maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"}],"bugs":{"url":"https://gitcode.com/CPF-Ionic/capacitor-native-settings/issues"},"dist":{"shasum":"ccd61249dbcf77fb621cf6721a09aa0842b7e1fc","tarball":"https://registry.npmjs.org/@capacitor-ohos/native-settings/-/native-settings-8.0.0.tgz","fileCount":10,"integrity":"sha512-7oS8IfWIcBijULwlWL1wDOhT4vEtrqA7hSuwIt9k7O6Z/fLmYPLcQ8qEVbHMeIEYuf2FTMvOUAOEox5vkiBgTA==","signatures":[{"sig":"MEUCIBCtoZQXREnZiuEQTsmYSfusorTcqmenmx4TvluYO+upAiEAunvWz8IF2p7/QTP3eOJ1g8jzD/4nwJ22qnPZYJTOBTc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64646},"gitHead":"093105f8be5de5a389aab87360ec5ffe967538fe","_npmUser":{"name":"luqi_tan","email":"295099422@qq.com"},"capacitor":{"id":"@capacitor/native-settings","platforms":["openharmony"]},"repository":{"url":"gitcode:CPF-Ionic/capacitor-native-settings","type":"git"},"_npmVersion":"10.5.1","description":"Capacitor plugin to open native settings screens","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/native-settings_8.0.0_1777552393911_0.64003263808683","host":"s3://npm-registry-packages-npm-production"}},"8.0.1":{"name":"@capacitor-ohos/native-settings","version":"8.0.1","description":"Capacitor plugin to open native settings screens","capacitor":{"id":"@capacitor/native-settings","platforms":["openharmony"]},"repository":{"type":"git","url":"gitcode:CPF-Ionic/capacitor-native-settings"},"bugs":{"url":"https://gitcode.com/CPF-Ionic/capacitor-native-settings/issues"},"keywords":["capacitor","plugin","native"],"author":{"name":"Huawei Device Co., Ltd and iSoftStone Information Technology","url":"Group"},"license":"MIT","_id":"@capacitor-ohos/native-settings@8.0.1","gitHead":"03b2d5d5484a7d3e610bc73eb693124fb6011b3f","_nodeVersion":"22.0.0","_npmVersion":"10.5.1","dist":{"integrity":"sha512-3kd1Je7pwGfXVp2/7xR8GM38iDuId2zqUJVAVsugLUq7CXkcbXhcStl9kqWCJUZ8s8aLUONChxp7eSDDANWG3g==","shasum":"9155337a3a4f8d02fde2f6e38fdee1274ac24fc3","tarball":"https://registry.npmjs.org/@capacitor-ohos/native-settings/-/native-settings-8.0.1.tgz","fileCount":10,"unpackedSize":64263,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDLam6Pn8xhBP+ie9BMbRjhksT5hmJneHRBWyAU4nZlhwIge6CkW+IWJ0JQMIcy2rSmMudI0A4XXmm4FCynHaDWFA4="}]},"_npmUser":{"name":"luqi_tan","email":"295099422@qq.com"},"directories":{},"maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/native-settings_8.0.1_1784802468487_0.9855171782600667"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-30T12:33:13.821Z","modified":"2026-07-23T10:27:48.800Z","8.0.0":"2026-04-30T12:33:14.087Z","8.0.1":"2026-07-23T10:27:48.623Z"},"bugs":{"url":"https://gitcode.com/CPF-Ionic/capacitor-native-settings/issues"},"author":{"name":"Huawei Device Co., Ltd and iSoftStone Information Technology","url":"Group"},"license":"MIT","keywords":["capacitor","plugin","native"],"repository":{"type":"git","url":"gitcode:CPF-Ionic/capacitor-native-settings"},"description":"Capacitor plugin to open native settings screens","maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"}],"readme":"# <center>@capacitor/native-settings</center>\r\n[![zh-CN](https://img.shields.io/badge/lang-中文-blue.svg)](README.md)\r\n[![en](https://img.shields.io/badge/lang-English-blue.svg)](README.en.md)\r\n\r\n本项目基于 [capacitor/native-settings@8.0.0](https://www.npmjs.com/package/capacitor-native-settings/v/8.0.0)开发。\r\n\r\n## 简介\r\n\r\n@capacitor/native-settings是capacitor生态系统中的核心插件，用于打开原生设置屏幕，为跨平台应用开发提供访问设备系统设置的能力。为跨平台应用开发提供设备差异化适配能力，本文档仅说明在OpenHarmony环境下的使用情况。\r\n\r\nAPI提供了打开原生设置页面的功能，支持Android、iOS和OpenHarmony等主流移动平台。\r\n\r\n## 支持平台\r\n\r\n- **OpenHarmony**：5.0+\r\n\r\n## 下载安装\r\n\r\n通过命令行或手动引入即可快速安装插件，支持从npm仓库获取。\r\n\r\n### 命令行安装（推荐）\r\n\r\n安装hionic CLI：\r\n\r\n```bash\r\nnpm install -g hionic\r\n```\r\n\r\n安装插件：\r\n\r\n```bash\r\nhionic plugin add @capacitor/native-settings\r\n```\r\n\r\n### 手动引入安装\r\n\r\n根据插件源码中 `plugin.xml` 配置在项目中引入插件：\r\n\r\n#### 1. 添加插件配置\r\n\r\n根据 `plugin.xml` 的 `config-json` 项，通过 `target` 字段找到 `entry` 模块中 `capacitor.plugins.json` 文件，并根据 `param`\r\n标签添加配置如下：\r\n\r\n```json\r\n{\r\n  \"pkg\": \"@capacitor/native-settings\",\r\n  \"classpath\": \"NativeSettings\"\r\n}\r\n```\r\n\r\n#### 2. 修改CMake配置\r\n\r\n根据 `plugin.xml` 的 `CMakeLists` 项，通过 `modules-name` 字段找到模块 `capacitor`，路径为 `target` 字段的\r\n`CMakeLists.txt` 文件，并根据 `param` 标签添加 `add_subdirectory` 和 `target_link_libraries` 如下：\r\n\r\n```cmake\r\n#START_ADD_SUBDIRECTORY\r\n// ...\r\nadd_subdirectory(NativeSettings)\r\n// ...\r\n#END_ADD_SUBDIRECTORY\r\n\r\n// ...\r\n\r\ntarget_link_libraries(capacitor PUBLIC\r\n  \"-Wl,--whole-archive\"\r\n  // ...\r\n  NativeSettings\r\n  // ...\r\n  \"-Wl,--no-whole-archive\"\r\n)\r\n```\r\n\r\n#### 3. 复制源码文件\r\n\r\n根据 `plugin.xml` 的 `source-file` 项，根据 `src` 字段找到需要复制的文件，并根据 `modules-name` 字段和 `target-dir`\r\n字段找到文件复制的具体模块和目录：\r\n\r\n将源码中src/main/cpp/NativeSettings目录下的NativeSettings.h、NativeSettings.cpp、CMakeLists.txt文件引入到capacitor模块中src/main/cpp/NativeSettings目录下。\r\n\r\n将源码中src/main/ets/components/NativeSettings目录下的NativeSettings.ets文件引入到capacitor模块中src/main/ets/components/NativeSettings目录下。\r\n\r\n#### 4. 添加 ArkTS 配置\r\n\r\n在`capacitor`模块的`build-profile.json5`文件中，`buildOption/arkOptions/runtimeOnly/sources`配置项数组中加入步骤3中拷贝的ts文件路径：\r\n\r\n```json\r\n{\r\n  \"buildOption\": {\r\n    \"arkOptions\": {\r\n      \"runtimeOnly\": {\r\n        \"sources\": [\r\n          \"./src/main/ets/components/NativeSettings/NativeSettings.ets\"\r\n        ]\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n## 卸载\r\n\r\n```bash\r\n# 卸载 native-settings 插件\r\nhionic plugin remove @capacitor/native-settings\r\n```\r\n\r\n## 约束与限制\r\n\r\n### 兼容性\r\n\r\n在以下版本中已测试通过：\r\n\r\n1. capacitor: 8.0.0-ohos-8.0.0;SDK: 5.0.5(17); IDE: DevEco Studio: 6.0.0; ROM: 5.1.0.150;\r\n\r\n### 权限要求\r\n\r\n无需额外配置应用权限。\r\n\r\n## 插件配置\r\n\r\n无特殊插件配置项。\r\n\r\n## 使用示例\r\n\r\n### 示例1：打开原生设置\r\n\r\n```typescript\r\nimport { NativeSettings, AndroidSettings, IOSSettings } from '@capacitor/native-settings';\r\n\r\nconst handleOpenSettings = async () => {\r\n  try {\r\n    const result = await NativeSettings.open({\r\n      optionAndroid: AndroidSettings.ApplicationDetails,\r\n      optionIOS: IOSSettings.App,\r\n    });\r\n    console.log('打开设置结果：', result);\r\n  } catch (error) {\r\n    console.error('打开设置失败:', error);\r\n  }\r\n};\r\n```\r\n\r\n### 示例2：打开Android设置\r\n\r\n```typescript\r\nimport { NativeSettings, AndroidSettings } from '@capacitor/native-settings';\r\n\r\nconst handleOpenAndroidSettings = async () => {\r\n  try {\r\n    const result = await NativeSettings.openAndroid({\r\n      option: AndroidSettings.ApplicationDetails,\r\n    });\r\n    console.log('打开Android设置结果：', result);\r\n  } catch (error) {\r\n    console.error('打开Android设置失败:', error);\r\n  }\r\n};\r\n```\r\n\r\n### 示例3：打开iOS设置\r\n\r\n```typescript\r\nimport { NativeSettings, IOSSettings } from '@capacitor/native-settings';\r\n\r\nconst handleOpenIOSSettings = async () => {\r\n  try {\r\n    const result = await NativeSettings.openIOS({\r\n      option: IOSSettings.App,\r\n    });\r\n    console.log('打开iOS设置结果：', result);\r\n  } catch (error) {\r\n    console.error('打开iOS设置失败:', error);\r\n  }\r\n};\r\n```\r\n\r\n## 使用说明\r\n\r\n引入@capacitor/native-settings插件的NativeSettings模块使用，所有API均基于Promise实现，支持异步调用。\r\n\r\n### 1. 打开原生设置\r\n\r\n#### 方法签名\r\n\r\n```\r\nopen(options: PlatformOptions): Promise<NativeSettingsResult>\r\n```\r\n\r\n#### 参数说明\r\n\r\n| 参数名 | 类型 | 说明 |\r\n|---------|---------|--------|\r\n| options | [PlatformOptions](#platformoptions)  | 必选，平台设置选项 |\r\n\r\n#### PlatformOptions\r\n\r\n| 属性名 | 类型 | 说明 |\r\n|---------|---------|--------|\r\n| optionAndroid | [AndroidSettings](#androidsettings) | Android设置选项 |\r\n| optionIOS | [IOSSettings](#iossettings) | iOS设置选项 |\r\n\r\n#### NativeSettingsResult\r\n\r\n| 属性名 | 类型 | 说明 |\r\n|---------|---------|--------|\r\n| success | boolean | 操作是否成功 |\r\n| error | string | 操作失败时的错误信息 |\r\n\r\n### 2. 打开Android设置\r\n\r\n#### 方法签名\r\n\r\n```\r\nopenAndroid(options: AndroidOptions): Promise<NativeSettingsResult>\r\n```\r\n\r\n#### 参数说明\r\n\r\n| 参数名 | 类型 | 说明 |\r\n|---------|---------|--------|\r\n| options | [AndroidOptions](#androidoptions) | 必选，Android设置选项 |\r\n\r\n#### AndroidOptions\r\n\r\n| 属性名 | 类型 | 说明 |\r\n|---------|---------|--------|\r\n| option | [AndroidSettings](#androidsettings) | Android设置选项 |\r\n\r\n### 3. 打开iOS设置\r\n\r\n#### 方法签名\r\n\r\n```\r\nopenIOS(options: IOSOptions): Promise<NativeSettingsResult>\r\n```\r\n\r\n#### 参数说明\r\n\r\n| 参数名 | 类型 | 说明 |\r\n|---------|---------|--------|\r\n| options | [IOSOptions](#iosoptions) | 必选，iOS设置选项 |\r\n\r\n#### IOSOptions\r\n\r\n| 属性名 | 类型 | 说明 |\r\n|---------|---------|--------|\r\n| option | [IOSSettings](#iossettings) | iOS设置选项 |\r\n\r\n### 4. 枚举类型\r\n\r\n#### AndroidSettings\r\n\r\n| 成员 | 值 | 描述 |\r\n| --- | --- | --- |\r\n| `Accessibility` | `accessibility` | 无障碍功能 |\r\n| `Account` | `account` | 显示用于创建新账户的添加账户屏幕 |\r\n| `AirplaneMode` | `airplane_mode` | 显示允许进入/退出飞行模式的设置 |\r\n| `Apn` | `apn` | 显示允许配置 APN 的设置（需要手动进入下一级页面） |\r\n| `ApplicationDetails` | `application_details` | 显示有关特定应用的详细信息屏幕 |\r\n| `ApplicationDevelopment` | `application_development` | 显示允许配置应用开发相关设置的设置 |\r\n| `Application` | `application` | 显示允许配置应用相关设置的设置 |\r\n| `AppNotification` | `app_notification` | 显示允许配置应用特定通知的设置 |\r\n| `BatteryOptimization` | `battery_optimization` | 显示用于控制哪些应用可以忽略电池优化的屏幕 |\r\n| `Bluetooth` | `bluetooth` | 显示允许配置蓝牙的设置 |\r\n| `Captioning` | `captioning` | 显示视频字幕的设置，暂不支持 |\r\n| `Cast` | `cast` | 显示允许配置投射端点的设置 |\r\n| `DataRoaming` | `data_roaming` | 显示用于选择 2G/3G/4G 的设置（需要手动进入下一级页面） |\r\n| `Date` | `date` | 显示允许配置日期和时间的设置 |\r\n| `Display` | `display` | 显示允许配置显示的设置 |\r\n| `Dream` | `dream` | 显示 Daydream 设置，暂不支持 |\r\n| `Home` | `home` | 显示主屏幕选择设置，暂不支持 |\r\n| `Keyboard` | `keyboard` | 显示配置输入法的设置，特别是允许用户启用输入法 |\r\n| `KeyboardSubType` | `keyboard_subtype` | 显示启用/禁用输入法子类型的设置 |\r\n| `Locale` | `locale` | 显示允许配置区域设置的设置 |\r\n| `Location` | `location` | 显示允许配置当前位置源的设置 |\r\n| `ManageApplications` | `manage_applications` | 显示管理已安装应用的设置 |\r\n| `ManageAllApplications` | `manage_all_applications` | 显示管理所有应用的设置 |\r\n| `MemoryCard` | `memory_card` | 显示存储卡存储的设置，暂不支持 |\r\n| `Network` | `network` | 显示选择网络运营商的设置 |\r\n| `NfcSharing` | `nfcsharing` | 显示 NFC 共享设置，暂不支持 |\r\n| `NfcPayment` | `nfc_payment` | 显示 NFC 点击支付设置（需要手动进入下一级页面） |\r\n| `NfcSettings` | `nfc_settings` | 显示 NFC 设置 |\r\n| `Print` | `print` | 显示打印设置，暂不支持 |\r\n| `Privacy` | `privacy` | 显示允许配置隐私选项的设置 |\r\n| `QuickLaunch` | `quick_launch` | 显示快速启动设置，暂不支持 |\r\n| `Search` | `search` | 显示搜索设置，暂不支持 |\r\n| `Security` | `security` | 显示安全设置 |\r\n| `Settings` | `settings` | 显示系统设置的主屏幕 |\r\n| `ShowRegulatoryInfo` | `show_regulatory_info` | 显示设备的监管信息屏幕 |\r\n| `Sound` | `sound` | 显示声音设置 |\r\n| `Storage` | `storage` | 显示存储设置 |\r\n| `Sync` | `sync` | 显示同步设置，暂不支持 |\r\n| `TextToSpeech` | `text_to_speech` | 显示文本转语音设置，暂不支持 |\r\n| `Usage` | `usage` | 显示应用使用情况设置 |\r\n| `UserDictionary` | `user_dictionary` | 显示用户词典设置，暂不支持 |\r\n| `VoiceInput` | `voice_input` | 显示语音输入设置 |\r\n| `VPN` | `vpn` | 显示 VPN 设置 |\r\n| `Wifi` | `wifi` | 显示 Wi-Fi 设置 |\r\n| `WifiIp` | `wifi_ip` | 显示 Wi-Fi IP 设置（需要手动进入下一级页面） |\r\n| `Wireless` | `wireless` | 显示允许配置无线控制的设置 |\r\n| `ZenMode` | `zen_mode` | 禅模式设置 |\r\n| `ZenModePriority` | `zen_mode_priority` | 禅模式优先级设置（需要手动进入下一级页面） |\r\n| `ZenModeBlockedEffects` | `zen_mode_blocked_effects` | 禅模式阻止效果设置（需要手动进入下一级页面） |\r\n\r\n#### IOSSettings\r\n\r\n| 成员 | 值 | 描述 |\r\n| --- | --- | --- |\r\n| `About` | `about` | 设置 > 关于页面 |\r\n| `App` | `app` | 打开应用特定的设置屏幕（Apple 官方支持） |\r\n| `AppNotification` | `appNotification` | 打开 iOS 15.4+ 的应用特定通知设置屏幕；对于早期版本，打开通用应用特定设置 |\r\n| `AutoLock` | `autoLock` | 用于设置屏幕是否以及何时自动锁定，暂不支持 |\r\n| `Bluetooth` | `bluetooth` | 蓝牙设置，允许用户启用/禁用蓝牙并搜索设备 |\r\n| `DateTime` | `dateTime` | 日期和时间设置 |\r\n| `FaceTime` | `facetime` | FaceTime 设置，暂不支持 |\r\n| `General` | `general` | 打开 iOS 通用设置屏幕 |\r\n| `Keyboard` | `keyboard` | 键盘设置 |\r\n| `ICloud` | `iCloud` | iCloud 设置，暂不支持 |\r\n| `ICloudStorageBackup` | `iCloudStorageBackup` | iCloud 存储和备份设置，暂不支持 |\r\n| `International` | `international` | 语言和区域设置 |\r\n| `LocationServices` | `locationServices` | 显示允许配置当前位置源的设置 |\r\n| `Music` | `music` | 音乐设置 |\r\n| `Notes` | `notes` | 备忘录设置 |\r\n| `Notifications` | `notifications` | 通知设置 |\r\n| `Phone` | `phone` | 电话设置|\r\n| `Photos` | `photos` | 照片设置 |\r\n| `ManagedConfigurationList` | `managedConfigurationList` | 允许用户管理安装在手机上的配置文件 |\r\n| `Reset` | `reset` | 用户可以将手机重置为出厂设置的屏幕 |\r\n| `Ringtone` | `ringtone` | 铃声设置 |\r\n| `Sounds` | `sounds` | 用于设置电话音量、振动设置等 |\r\n| `SoftwareUpdate` | `softwareUpdate` | 软件更新屏幕 |\r\n| `Store` | `store` | 商店设置，暂不支持 |\r\n| `Tracking` | `tracking` | 跟踪设置，暂不支持 |\r\n| `VPN` | `vpn` | VPN 设置 |\r\n| `Wallpaper` | `wallpaper` | 壁纸设置（需要手动进入下一级页面） |\r\n| `WiFi` | `wifi` | Wi-Fi 设置 |\r\n| `Tethering` | `tethering` | 网络共享设置（用于使用移动数据创建热点） |\r\n| `DoNotDisturb` | `doNotDisturb` | 勿扰模式设置 |\r\n| `TouchIdPasscode` | `touchIdPasscode` | Touch ID 密码设置 |\r\n| `ScreenTime` | `screenTime` | 屏幕使用时间设置，暂不支持 |\r\n| `Accessibility` | `accessibility` | 辅助功能设置 |\r\n\r\n## 特殊说明\r\n\r\n无特殊说明。\r\n\r\n## 目录结构\r\n\r\n```\r\n|---- 目录\r\n|     |---- src/main  # 插件的实现代码\r\n|           |----cpp  # C++ 代码\r\n|           |----ets   # ArkTS 代码\r\n|     |---- README.md          # 说明文档\r\n|     |---- package.json       # 配置文件\r\n|     |---- plugin.xml       # 插件配置文件\r\n```\r\n\r\n## 贡献代码\r\n\r\n使用过程中发现任何问题都可以提 [Issue](https://gitcode.com/CPF-Ionic/capacitor-native-settings/issues)，当然，也非常欢迎发 [PR](https://gitcode.com/CPF-Ionic/capacitor-native-settings/pulls) 共建。\r\n\r\n## 许可证\r\n\r\n本插件基于 **MIT License** 开源，详见 [LICENSE](./LICENSE) 文件。","readmeFilename":"README.md"}