6

为了测试我还不想向公众发布的功能,我想实现一个“秘密”菜单或菜单项。

我所说的“秘密”并不是指真正的秘密,而是更多的隐藏或不可见的菜单,只有开发人员(我)可以通过输入代码或其他机制访问。

如果最终用户发现它并尝试使用它,这并不是世界末日(“他们让它证明是白痴,但我找到了解决方法。”)。我只是不想通过提供尚未完全测试的功能来让毫无戒心的无辜非专业最终用户失败。

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

4

4 回答 4

7
  • 比较例如设备的 Android Id,如果它与您的开发手机匹配,请解锁菜单

  • 让您的应用程序检查是否安装了另一个应用程序(一些空的虚拟)并根据该信息解锁菜单。

  • 您可以将 Activity 添加到您的代码/清单中,该活动不是由任何代码触发的。您仍然可以通过以下方式启动它adb shell am start -n com.your.package/.SecretThing(该活动可以简单地设置解锁菜单的共享首选项)

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

  • 如果您有一个带有键盘的设备,则实现一个按键侦听器,仅在您输入一些秘密单词时触发菜单(仍将按键事件转发给系统)

  • 如果您的应用程序可以访问位置,那么如果您不在家,则隐藏菜单。

  • 添加一些始终可见的菜单项,以触发受密码保护的屏幕(不是一个好主意,但它有效)

于 2012-04-27T17:27:31.850 回答
4

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

于 2012-04-27T17:18:10.747 回答
3

您想只在开发手机上使用菜单,还是想在任何手机上访问菜单?

这是我能想到的3个选项。

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

2)您可以在按钮上记录屏幕按下,并结合使用这些操作启动密码屏幕。

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

于 2012-04-27T17:26:59.933 回答
0

我也需要一个秘密菜单,好吧,我将在 上实现它,在 EditText 字段login screen中输入,然后。device timepress cancel

于 2014-04-04T09:26:33.317 回答