定制锁屏实现技术

5
所以,我一直在探索许多类似的网站问题(这个这个这个等等)。人们想要实现自己的自定义锁屏(不是指小部件)。到目前为止,已经有两种实现技术被用户使用。
  1. 首页替换。在这种技术中,建议创建一个主屏幕应用程序,在解锁逻辑后默认屏幕会显示出来。我认为在这种情况下,开发者必须在锁屏可见时禁用Home、Search、Menu和Back按钮,并实现屏幕开关逻辑。

  2. 应用程序。在这种技术中,制作一个普通的应用程序,在解锁逻辑后默认屏幕会显示出来。我认为在这种情况下,开发者必须在锁屏可见时禁用Home、Search、Menu和Back按钮,并实现屏幕开关逻辑。

现在,我不理解两种方法之间的区别是什么?StackOverflow社区似乎更加强调首页替换技术。我对Android开发非常新,可能会错过一些方面。请建议我应该使用哪种方法以及为什么?(还有哪个更容易?)

非常感谢!

1个回答

2
我会使用第一种方法,但仅出于可用性原因。因为它为用户提供了一个选择,如果他选择不将新的主屏幕/锁屏设为默认选择,则可以轻松地恢复到原始主屏幕/锁屏。
我担心你描述的两种策略都很困难(取决于你想要它在哪个API级别范围内工作)。困难不在于它们的差异,而在于覆盖按钮(因为Google通过关闭新API级别的安全漏洞使其更加困难)。
PS: 请注意,Jellybean有一个新的Daydream功能。如果您只需要自定义锁屏。那可能是一个好办法,因为Jellybean在这方面更加安全且比以前的api级别更加难以处理。
此外,请考虑在HTC设备上使用HTC屏幕锁定API。这样,您的解决方案对于他们的新设备来说就不会太hacky了。也许,为已经在设备上获得root权限的用户做一个版本,因为对于那些在Google Play中购买应用程序的具有root访问权限的用户来说,他们花费的资金比例是不成比例的。如果您只看一下Google Play给出的一些带有(仅限root)的付费应用程序下载数量的粗略数字,那就很明显了。

谢谢。我刚刚安装了SDK附带的“Home”示例应用程序。一旦我安装并点击“始终使用”,我不得不进行工厂重置,因为“管理应用程序”->“恢复默认设置”选项不再可访问。但我明白你的意思。除了这个方面,您是否看到其他瓶颈?比如性能? - Dev Dreamer
我无法评论其性能,但我可以说,它将会是一个头疼的问题去维护,因为你必须使用很多技巧来让它工作,而这些技巧可能会在用户接收新的操作系统更新后停止工作。 - Stephan Branczyk
不,我认为你必须对这两种方法都使用相同的技巧。 - Stephan Branczyk
谢谢!所以,作为后续问题。我在这里问过了 (http://stackoverflow.com/questions/16050842/understanding-custom-lock-implementation-on-android-via-home-screen-replacement)。您能回复一下吗?如果可以得到一些帮助,我想我会选择Home。再次感谢。 - Dev Dreamer
你好 @StephanBranczyk,我已经成功地将锁屏实现为主屏幕替代应用程序。我还使用setComponentEnabledSetting()来针对默认主屏幕解锁逻辑进行定位。但是这仅在我解锁一次后才能正常工作。也就是说,如果我第一次解锁后,就无法再获得自定义锁屏。有什么帮助吗?谢谢... - Sanket Kachhela
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接