2

在我的由 veriSign 签名的 j2me 应用程序中,在它必须执行PIM.getInstance().openPIMList(..)操作的时间接受 always 或 yes 权限时出现问题。

当我的应用程序在第一次安装时执行下面的代码行时,它会挂起并且不显示主屏幕,而是显示黑色背景挂起的屏幕。当我退出并重新启动应用程序时,即使我将其删除并重新放回并运行良好,它也可以正常运行,但我删除并重新启动手机并尝试再次运行它会显示我上面描述的相同问题。

我的导致请求权限的行代码在这里实际上也导致了问题。还有一件事,此错误仅发生在实际允许ALWAYS启动权限的特定手机上。

我在诺基亚 X2-05 上检查它并显示问题,但在诺基亚 C3-02 上却没有,因为它不允许ALWAYS在应用程序启动时自动获得许可。

private void permissionSettings() throws PIMException {
       PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE);
}

上面是第一次启动时挂起的代码片段。

4

1 回答 1

1

对我来说这听起来像是手机上的一个错误,用于验证 j2me 库的 TCK 测试非常薄弱,所以很多这样的错误都可以通过。

似乎关键在于权限,所以我会尝试在这个领域玩耍。确保您在 .jad 中设置了正确的权限(在签名之前),如果您可以尝试使用不同安全域或证书中的证书进行签名,请尝试在运行小程序之前更改权限级别。

我希望你只能解决这个问题,所以我不会提出一些具体的建议,而是在这些领域内改变一些事情。

于 2013-10-04T08:26:10.090 回答