为了测试一个我不想向公众发布尚未的功能,我想实现一个“秘密”菜单或菜单项。
通过“秘密”我并不是真正的秘密,而是更多的隐藏或隐形菜单,只有开发人员(我)才能访问,只需输入代码或其他机制。
如果最终用户发现它并尝试使用它,那么这不是世界末日(“他们使它成为白痴证明,但我找到了解决办法。”)。我只是不想通过提供尚未完全测试的功能而让毫无防备的无辜的最终用户失败。
有关如何解决这个问题的任何建议? (仅限Android 2.2及以上版本)
答案 0 :(得分:6)
比较例如设备的Android ID以及是否与您的开机手机相匹配,解锁菜单
让您的应用检查是否安装了其他应用(一些空虚拟人物)并根据该信息解锁菜单。
您可以在代码/清单中添加一个不由任何代码触发的活动。您仍然可以通过adb shell am start -n com.your.package/.SecretThing
启动它(该活动可以简单地设置解锁菜单的共享首选项)
如果您收听使用adb shell am broadcast -a your.secret.broacast.ACTION_SECRET
如果您的设备具有键盘实现键侦听器,只有在您输入一些秘密词(仍向系统的前向键事件)时才会触发菜单
如果您的应用有权访问位置,则隐藏菜单不在家。
添加一些始终可见的菜单项,触发受密码保护的屏幕(不是一个好主意,但它有效)
答案 1 :(得分:4)
我曾经使用过几次的方法是在用户三次点击屏幕的某个特定部分时弹出一个PIN输入表单。您输入PIN码,即可进入开发者界面。
答案 2 :(得分:3)
您是否只想在开发手机上使用菜单,或者您想要在任何手机上使用菜单?
这是我能想到的3个选项。
1)您可以在其中包含一些包含任意字符串键代码的文件,并且文件和键的存在会打开该功能。
2)你可以在你的按钮上记录屏幕按下,这样就可以启动密码屏幕。
3)如果你有一个选项菜单,有一个更多的部分,你可以在那里埋葬通行证屏幕。或者如果你有一个关于屏幕,长按徽标可以启动通过屏幕。
答案 3 :(得分:0)
我也需要一个秘密菜单,我将在login screen
上实现它,在EditText字段中输入device time
并press cancel
。