通过主屏幕替换技术了解Android上的自定义锁定实现

我一直在研究这个问题。 我本周问了一个相关的问题。该地区最有用和最相关的链接是这个和这个 。 我想了解它是如何工作的,如果实现为主屏幕替换应用程序。

快速提问:

  • 如果实现哪个屏幕应该设置为默认? 我们的主屏幕更换或原始主屏幕?
  • 在这个问题的答案之后请阅读评论,其中asker想出了一个方法。 最后他说:

    “想出来!必须使用setComponentEnabledSetting()禁用清单意图filter,然后在活动弹出时重新打开它。感谢您的帮助!”

这到底是什么意思? 我不太明白这里的逻辑。 请帮忙?

  • 基本上,我和这个提问者有同样的疑问(请参阅@CoffeeCrisp 的答案下面的 评论 )。 但是,我无法理解解决方案以及这里到底发生了什么。 请帮忙?

谢谢。

编辑:请不要downvote它。 如果我的结果需要改进,请在评论中提出建议,以便我有时间进行更改。 非常感谢。

  1. 如果您实施了主屏替换应用,则应将您的应用设置为默认启动器/主屏幕。

  2. setComponentEnabledSetting()允许您覆盖清单中的intentfilter并基本上禁用它们。 听起来他在用户解锁后覆盖了启动器意图的filter,因此他可以显示默认主屏幕。

话虽这么说,我不建议写一个锁屏更换,有太多问题,它是hacky和不安全。 专注于锁屏小部件。