【问题标题】:show web site on Android lock screen [closed]在 Android 锁定屏幕上显示网站 [关闭]
【发布时间】:2017-04-27 01:41:31
【问题描述】:

我正在寻找一种可靠的方式让 Android 用户在锁定屏幕上显示网站。 这原则上可以通过 3 种方式完成:

  1. 在本机 Android 锁定屏幕上显示它,但他们应该能够删除本机时钟,因为我的网站是世界时钟(如果您有兴趣,可以在 intelnav.50webs.com/world_time.html 看到它)。据我所知,这是不可能的。
  2. 使用允许此操作的第 3 方自定义锁屏。不幸的是,我找不到一个好的,我做了一些搜索。
  3. 自己编写自定义锁屏。
    有一些建议甚至示例项目可以做到这一点,甚至在 StackOverflow 上还有一些问题。但我不确定它们有多可靠。从我发现的情况来看,没有标准的方法可以做到这一点,因为锁定屏幕小部件已被删除。但是,从我能找到的 cmets 判断,构建自定义锁屏的建议方法对我来说似乎不是很可靠。所以,我的一个问题(抱歉,问题有点复杂),有没有人知道一个自定义锁屏的示例项目,它实际上有一个由它构建并在 Google Play 上提供的应用程序,并且实际上在广泛的范围内运行良好设备数量?

任何人都可以帮助我提出一个可靠的方法来做我想做的事吗?按照上面的思路?

【问题讨论】:

    标签: android web lockscreen


    【解决方案1】:

    看来我要回答我自己的问题了。我不确定有多少人会感兴趣,但你永远不知道。

    9 月 18 日更新:现在有一个简短的答案,一年前我第一次回答时还没有。即,我自己的 WebLock 应用:

    https://play.google.com/store/apps/details?id=com.simionescu.vlad.weblock

    以下是我的原始答案,大致说明了如何以编程方式完成此操作。

    所以我开始挖掘,看起来可以完成。它甚至没有我担心的那么困难,尽管我也不会说这很容易。 要点如下:

    1. 我编写了一个应用程序,该应用程序基本上将网站置于原生 Android 锁定屏幕上。 (实际上,我已经有一个应用程序,并在其中添加了此功能,但这并不重要。主要是我的方法需要编写一个应用程序。)
      所以我想这介于上述情况 1 和 3 之间。我确实需要一个应用程序,但它不是一个成熟的自定义锁定屏幕,如下所述。
      这当然意味着该方法更通用,它适用于任何应用程序,而不仅仅是用于显示网站。

    2. 为活动窗口设置 FLAG_SHOW_WHEN_LOCKED,如下所示:
      How to make our own lock screen in android instead of default lock screen
      但是我只用了这个标志,链接中提到的其他3个我不需要。

    3. 在设备屏幕关闭之前启动 Activity(如果它尚未运行)并将其设置在顶部,即收到 ACTION_SCREEN_OFF 事件。这样,当屏幕关闭时,该应用程序始终可见,因此下次启动时,Android 会将其置于锁定屏幕前。 (至少如果它是标准的;从文档看来它也应该使用自定义锁屏,但我没有测试它。我想这取决于自定义锁屏的编写方式。无论如何,我不'不一定希望我的网站在自定义锁定屏幕上,如果用户有一个他可能不想在它前面看到我的网站)。
      这也意味着如果设备关闭然后打开,即使它没有被锁定,该站点也会出现在前面。这是我想要的。

    4. 通过 BOOT_COMPLETED 事件在启动时自动启动应用程序

    5. 捕获标准后退键(这是允许的,与主页键不同)并使其在终止应用程序时充当主页键。
      我故意让 home 键正常工作。这当然意味着按下它(这是用户退出应用程序并进入设备的方式)后,会显示下方的锁定屏幕。否则我将不得不自己处理密码保护设备,这绝不是我想做的事情。这种方法有一些缺点,但 IMO 它们很小。为简单起见,我选择这样做。
      此外,通过这种方式,我的应用程序仍然可靠,如果我劫持了 home 键,无论如何它都不会可靠。
      如前所述,这意味着这不是成熟的自定义锁定屏幕,只是将网站置于默认锁定屏幕之上的一种方式。

    6. (11 月 18 日更新)还有一点更重要。如前所述,这样的应用程序可能存在安全问题。我不是专家,所以我不确定它是否真的如此,如果是,它有多重要,但你永远不能太安全。如果用户可以不加检查地访问任何站点,当处于锁定屏幕时,这意味着如果手机丢失并且坏人找到了它,他可以访问具有可以解锁设备的危险代码的站点。我不确定它是否真的可以完成,但我不会感到惊讶。因此,对于任何编写此类应用程序的人来说,一个好的建议是严格(但合理地)限制在锁定屏幕上的 Web 导航。

    这些是要点,还有一些其他的实现细节,但我暂时将它们放在一边。

    所有这些在我看来都是标准且可靠的,因为它们都在官方 Android 文档中。 我在我的 KitKat 设备以及 2 个模拟器上对其进行了测试,其中一个也装有 KitKat,另一个装有最新最好的模拟器。一切似乎都很好。包括设备/模拟器受密码保护的情况。

    所以我刚刚编写了应用程序并将其发布在 Google Play 上。在这里:

    https://play.google.com/store/apps/details?id=com.a50webs.intelnav.worldtime

    这意味着现在 Google Play 上至少有一个应用程序具有此功能。它的表现如何还有待观察。在接下来的几周内,我可能需要进行一些小的更正,但除此之外应该没问题。

    此外,在接下来的几周内,可能是一个月左右,我计划根据用户的要求推出另一个应用程序,该应用程序通常可以在任何网站上执行此操作。

    (更新 11 月 18 日)我终于编写了应用程序并将其放在 Google Play 上。它比计划花费了一点时间,但它已经准备好了。在这里:

    https://play.google.com/store/apps/details?id=com.simionescu.vlad.weblock&hl=en

    如上所述,在锁定屏幕上时,导航仅限于同一域,因此如果坏人找到了手机,他就无法访问某些恶意软件站点并解锁它。

    【讨论】:

      猜你喜欢
      • 2023-04-01
      • 1970-01-01
      • 2017-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-17
      相关资源
      最近更新 更多