【问题标题】:Best way to set up an android tablet as a touchscreen kiosk? [closed]将安卓平板电脑设置为触摸屏信息亭的最佳方式是什么? [关闭]
【发布时间】:2015-02-02 19:26:04
【问题描述】:

挑战:

我正在与一位客户合作,为一系列触摸屏消费者销售点信息亭创建原型。我的第一个挑战是使用满足以下要求的平板电脑创建触摸屏界面:

  • 平板电脑必须只允许访问我们的网络应用程序。我假设这将通过应用程序中的 Web 视图来完成。我也可能会被影响使用 Cordova 构建本机应用程序。

  • 平板电脑的互联网连接必须通过以太网/usb,由于规定不能使用 wifi/蓝牙。我计划通过将平板电脑通过 USB 连接到连接有以太网的树莓派来做到这一点。树莓派还将托管一个非常简单的本地服务器,并成为条形码扫描仪(用于扫描产品)和信用卡扫描仪的通信中心。

  • 如果发生断电,我真的希望在电源恢复时无需任何人工干预即可启动平板电脑并启动应用程序。这使我们知道自助服务亭将始终在没有工作人员帮助的情况下运行。该设备也可能位于锁定的外壳中,以防止任何人接触任何物理按钮。

无论如何我都不是安卓开发者,但我知道 iPad 将无法工作,因为您无法通过 USB 轻松提供网络连接,并且无法在重启后自动启动应用程序。

我的问题:

  • 如果我要实现这一目标,我需要考虑什么?我是否需要为每台平板电脑扎根,并且该过程是否可以扩展以创建大量(约 100 个)信息亭?我发现了像this one 这样的帖子,关于如何将安卓平板电脑置于“信息亭模式”。似乎是一个好的开始。

  • 在 Web 视图中运行此应用程序是一种好方法,还是使用 Cordova 构建的本机应用程序是一种更好的方法。由于维护问题,我不太可能在原生 SDK 中构建它。

  • 是否可以在通电时自动启动平板电脑,或者是否必须有人亲自按下电源按钮?

提前感谢您的反馈!

【问题讨论】:

    标签: android cordova raspberry-pi kiosk


    【解决方案1】:

    平板电脑必须只允许访问我们的网络应用。我假设这将通过应用程序中的 Web 视图来完成。我也可能会被影响使用 Cordova 构建本机应用程序。

    要使您的应用成为平板电脑上唯一可访问的应用,请查看使用 API 21(5.0 或 Lollipop)新增的“Kiosk 模式”。如果您无法使用 API 21,那么您可能会创建一个启动器应用来禁用返回按钮、主页按钮,并找到隐藏/禁用设置和通知栏的方法。

    平板电脑的互联网连接必须通过以太网/USB,由于规定不能使用 wifi/蓝牙。我计划通过将平板电脑通过 USB 连接到连接有以太网的树莓派来做到这一点。树莓派还将托管一个非常简单的本地服务器,并成为条形码扫描仪(用于扫描产品)和信用卡扫描仪的通信中心。

    以编程方式关闭与 Android 系统服务的所有无线网络连接非常简单。例如:

    WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    wifiManager.setWifiEnabled(false);
    

    是否只需要关闭 WIFI(具有正确的应用权限)。

    如果发生断电,我真的很想在电源恢复时让平板电脑开机并启动应用程序,而无需任何人工干预。

    据我所知,在没有人工干预的情况下重启设备是不可能的。通过侦听android.intent.action.BOOT_COMPLETED 意图,您将能够在启动时启动应用程序。如果您的应用是默认启动器应用,则您的应用将在启动时显示。

    就设备 root 而言,这将很有帮助,因为您可以获得对系统级 API 的更多访问权限。例如,您可以将您的应用安装为系统应用,让它在遇到重大问题时自动重启设备。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-09
      • 2011-12-04
      • 2014-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-22
      • 2015-09-27
      相关资源
      最近更新 更多