跳至内容
WebViewGold 从 Vibe Coding 到 App Store
中文
获取 WebViewGold

Base44 + 手电筒

为您的 Base44 应用添加手电筒控制

在昏暗的仓库里读取序列号,在地下室查看仪表,在音乐会上找座位:有时您的 Base44 应用只是需要一点光。WebViewGold 通过 enableflashlight:// 和 disableflashlight:// 两个链接,在 iOS 和 Android 上开关手机的手电筒。这是一个小功能,最适合作为更大工作流程中的辅助工具。

每个平台一次性 $109 起,或由我们的团队全程代劳,$698 起。

  • 审核通过保证 – 否则 14 天内退款
  • 无需编程
  • 一次性付费,免费更新
  • 7×24 小时人工支持
  • 2014 年起德国出品 · ISO 27001

手电筒按钮在哪些场景中物有所值

扫码和库存应用

扫描按钮旁边的手电筒开关,能帮助用户在仓库、地窖和停车场中读取标签、序列号和仪表。请在您的设备上测试,原生扫描器的相机打开时手电筒是否仍保持开启。

外勤、户外和活动应用

技术人员的巡检清单、徒步和露营指南、在昏暗入口检票的工作人员。手电筒就放在工作发生的那个页面上。

无障碍辅助

一个大而醒目、标注清晰的手电筒按钮,适合需要光线才能阅读菜单、标牌或纸质文件的用户。WebViewGold 文档也把无障碍列为一个使用场景。

游戏和寻宝活动

在问答、密室逃脱或寻宝类应用中,把灯光作为信号或奖励。效果要放慢;快速闪烁会让人不适,对光敏感的用户还可能有风险。

给 Base44 的提示词

把这段粘贴到 Base44 中以实现 Web 应用端。检查结果,发布,然后在 WebViewGold 应用中测试。

粘贴到 Base44 的提示词
为我们的 WebViewGold 移动应用添加一个手电筒按钮。1) 在“巡检”页面上,在“拍照”按钮旁边添加一个“手电筒”开关。2) 仅当 navigator.userAgent 包含我的 WebViewGold 自定义标记时才显示它;在普通浏览器中隐藏。3) 点按时在开和关之间切换:开启时导航到 enableflashlight://,关闭时导航到 disableflashlight://。按钮文字显示“打开手电筒”或“关闭手电筒”。4) 当用户离开该页面或三分钟后,自动关闭手电筒。5) 按钮要大且对比度高,方便在户外使用。6) 不要在数据库中保存任何与手电筒有关的信息。

我的iOS WebView应用终于通过审核了。谢谢!!

塔哈·法鲁基(Taha Farooqui) · CodeCanyon

为您的 Web 应用添加手电筒开关

约 15 分钟。

  1. 添加一个状态清晰的开关

    在应用内,它会导航到 enableflashlight:// 或 disableflashlight://。在浏览器中请隐藏它:网站无法在各种浏览器中可靠地控制手电筒。

  2. 检测应用

    设置一个包含 WebViewGold 等标记的自定义 User-Agent(Config.swift 中的 useragent_iphone 和 useragent_ipad,Config.java 中的 USER_AGENT),只在检测到该标记时显示按钮。为 iPad 单独设置 User-Agent,就能在没有闪光灯的 iPad 上隐藏它。

  3. 自己记住开关状态

    文档描述的是开和关两个命令,而没有状态读取。请在 Web 应用中保存状态,并在页面加载时重置按钮文字。

  4. 用户离开时关闭

    用户离开该页面时调用 disableflashlight://,避免手电筒在口袋里白白耗电。在 iOS 上,每次点按只触发一次桥接调用,而不是在同一段脚本中连续触发多次。

  5. 检查权限

    文档要求添加相机权限条目(iOS 上的 Info.plist,Android 上的 AndroidManifest.xml),因为手电筒属于相机硬件的一部分。在 iOS 上,Config.swift 中的 kFlashLightEnabled 不能为 false,否则调用会被阻止。

在浏览器中自动隐藏的开关

纯前端代码;您的后端无需任何改动。

javascript
// 自定义 User-Agent 包含 "WebViewGold" (在 Config.swift / Config.java 中设置)
var IN_APP = navigator.userAgent.indexOf("WebViewGold") !== -1;
var lightOn = false;

function initLightButton(btn) {
  if (!IN_APP) { btn.hidden = true; return; }   // 浏览器: 无法控制手电筒
  btn.addEventListener("click", function () {
    lightOn = !lightOn;
    window.location.href = lightOn ? "enableflashlight://" : "disableflashlight://";
    btn.textContent = lightOn ? "关闭手电筒" : "打开手电筒";
    btn.setAttribute("aria-pressed", String(lightOn));
  });
}

// 在用户离开该页面时调用 (路由切换)
function lightOffOnLeave() {
  if (IN_APP && lightOn) { lightOn = false; window.location.href = "disableflashlight://"; }
}

商店审核:需要注意什么

  • Apple 准则 4.3(b) 把手电筒应用列为已经饱和的类别:除非能提供明显不同的体验,否则不会再接受新的此类应用。请把手电筒作为真实工作流程中的辅助工具发布,绝不要把它当作主要功能。参见准则 4.3 详解。
  • 写一条具体的相机用途说明(“用于在您扫描标签时打开手电筒”),而不是一句泛泛的话。参见权限和用途说明。
  • 如果应用没有将相机用于其他用途,请在审核备注中告诉审核人员手电筒按钮的位置,以免相机权限看起来像是未被使用。
  • 避免快速闪烁的频闪或 SOS 效果。它们可能引发光敏反应,在审核中也显得像噱头。

常见问题

网站能打开手电筒吗?

无法在各种浏览器中可靠实现。在 WebViewGold 应用内,enableflashlight:// 和 disableflashlight:// 可以在 iOS 和 Android 上开关手电筒。

以手电筒为主要功能的应用会被 Apple 接受吗?

可能性很小。准则 4.3(b) 把手电筒应用列为已经饱和的类别,需要提供明显不同的体验。而作为扫码、库存或外勤服务应用中的一个辅助功能,手电筒则完全没有问题。

为什么开手电筒需要相机权限?

手电筒属于相机硬件的一部分,WebViewGold 文档要求在 Info.plist 和 AndroidManifest.xml 中添加相机权限条目。请在用途说明中提到手电筒。

我的 Base44 应用能读取手电筒是否已打开吗?

文档只描述了开和关两个命令。请在 Web 应用中保存状态,并在用户离开该页面时关闭手电筒。

手电筒在 iPad 上能用吗?

只有带后置闪光灯的 iPad 机型才能用;很多 iPad 没有闪光灯。为 iPad 设置单独的 User-Agent(useragent_ipad),在那里隐藏按钮,或者显示一条友好的提示。

让您的应用上架商店的三种方式

结果相同,只是您需要投入的工作量不同。三种方式都附带审核通过保证和 7×24 小时人工支持。

自己动手

$109 每个平台,一次性付费

WebViewGold 许可证:一个现成的 Xcode 或 Android Studio 项目。粘贴您的 URL,设置名称和图标,开启所需功能,构建并提交。永久免费更新。

在主页查看方案

Cloud Builder

$349 每个许可证,一次性附加购买

无需 Mac、Xcode 或 Android Studio:在浏览器中完成配置,我们在云端构建两个应用,并将其交付到 App Store Connect 和 Play Console。

Cloud Builder 如何运作 试用免费演示

Full Service

$698 每个平台 $798

把您的 URL 和图标发给我们。我们的团队在 72 小时内完成配置、构建并交付您的应用,白标,附源码项目。两个平台共 $1,158。

Full Service 详情 服务提供方: WeSetupYourWebViewApp

冬季特惠价格有效期至 2026年12月31日。

准备好发布您的 Base44 应用了吗?

App Store & Google Play 审核通过保证 – 否则 14 天内退款

想直接交给我们?Full Service:我们在 72 小时内完成配置、构建并交付,每个平台 $698 起。有疑问?通过 7×24 小时在线聊天联系我们。

退款依据我们 FAQ 中列出的条件:应用因非内容原因被 Apple 和/或 Google 拒审,并在购买后 14 天内提出申请。