2012-04-27 67 views
5

为了测试我不想向公众发布还有的功能,我想实现一个“秘密”菜单或菜单项。通过“秘密”,我并不是指真正的秘密,而是更隐藏或不可见的菜单,只有开发者(我)才能访问,通过输入代码或其他机制。如何实现一个秘密菜单

如果最终用户发现它并尝试使用它(“他们做了白痴证明,但我找到了解决方法”),这并不是世界末日。我只是不想让那些毫无戒心的无辜平庸终端用户失败,因为它提供了一个尚未完全测试的功能。

有关如何去解决这个问题的任何建议? (仅适用于Android 2.2及更高版本)

+1

为什么你需要释放它并保持它隐藏?对用户而言,没有任何更新也是浪费用户的时间。 – Matsemann 2012-04-27 17:21:44

+0

@Matsemann因为我想测试与最终用户相同的确切二进制文件,而不是重新构建。我没有任何暗示“对用户没有任何更新”......建议? – 2012-04-27 17:24:38

+0

我只是好奇:)另外,当处理一个问题时,很高兴知道什么和为什么。也许我们不能回答你确切的问题,但可以给出另一个解决方案等等。为什么不使用完全相同的构建很重要? – Matsemann 2012-04-27 17:29:25

回答

4

我曾经使用过几次的一种方法是在用户三次触击屏幕的特定部分时弹出PIN输入表单。您输入PIN码,即可进入开发者屏幕。

+0

好主意。这是否意味着动态实例化菜单而不是基于资源的菜单? – 2012-04-27 17:20:12

+0

不需要。唯一需要特别注意的是如何触发它。显然,它不能作为一个已经非常特殊的菜单来实现,并且具有相关的触发方式,例如选项菜单,除非您将其作为其动态部分。 – 2012-04-27 17:26:27

+0

这个技巧,连同http://stackoverflow.com/a/3680926让我到那里。其他答案也很棒,但我只是需要一些关于如何触发密码输入模式的提示。谢谢! – 2012-04-27 23:19:02

3

你想只在你的开发手机上有菜单吗?或者你想在任何手机上看到菜单吗?

以下是我能想到的3个选项。

1)你可以有一个文件,其中包含一些任意的字符串键码,并且文件和键的存在将打开该功能。

2)您可以记录屏幕上的按键,在您的按键上以及其组合显示密码屏幕。

3)如果你有一个选项菜单,有更多的部分,你可以在那里掩盖通过屏幕。或者如果您有关于屏幕的信息,长按徽标可启动屏幕。

+0

回答你的问题:任何电话。我会尽快检查你列出的选项。 – 2012-04-27 18:01:48

6
  • 比较例如,该设备的Android的标识,如果它符合你的开发手机解锁菜单

  • 让您的应用程序检查是否安装其他应用程序(一些空虚拟)和解锁基于这些信息的菜单。

  • 您可将活动添加到您的代码/清单并非由任何代码触发。您仍然可以通过adb shell am start -n com.your.package/.SecretThing启动它(该活动可以简单地设置一个共享的偏好是解锁菜单)

  • ,如果你听一些秘密广播,你可以触发一个菜单中,您与adb shell am broadcast -a your.secret.broacast.ACTION_SECRET

  • 发送,如果您有如果你输入一些秘字(仍然向前关键事件记录到系统)

  • 具有键盘的设备实现一键收听只触发菜单中,如果您的应用可访问的位置,然后隐藏菜单,如果你是如不在家。

  • 添加触发一个受密码保护的屏幕部分总是可见的菜单项(不是一个好主意,但它的工作原理)

0

我需要一个秘密菜单太,嗯,我要实现它login screen ,在EditText字段中输入device time,并在press cancel中输入。