阅读一些文章,告诉我软键因设备而异。
有人说-6或-21表示左软键,而-7或-22表示右软键。
在这种情况下,是否有任何良好的包装程序或函数或最佳实践来正确处理它?

如果不可能用于所有设备,那么支持大多数设备的最佳方法是什么?几乎没有破解或根本没有破解?

最佳答案

为了让您感觉到问题的范围,请看一下此table键控代码。

如果您能够根据目标手机来改变JAD内容,那么Omermuhammed的方法就是一种很好的方法,例如,通过查看来自手持式Web浏览器的下载请求中的user-agent header 字段。

如果在交付应用程序之前无法识别手机,则可以查看this之类的东西,它基本上可以在运行时确定主机手机并适当设置键码映射。
不过对我来说看起来很麻烦。

最后,如果您的应用程序使用了一部分代码,则您也许可以摆脱硬编码列表的困扰-对于某些代码,没有冲突或冲突很少(LEFT通常为-3或-61,而这些代码通常不会意思是别的)。同样,这不是理想的方法。

为您提供的最终建议资源:wurfl或用户代理字符串,以及J2MEPolish设备数据库中的设备 key 代码。

10-07 13:11