【发布时间】:2013-01-10 06:52:11
【问题描述】:
在我的由 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);
}
上面是第一次启动时挂起的代码 sn-p。
【问题讨论】:
-
好问题,遗憾的是我怀疑你是否会在这里找到有足够经验的人来获得你需要的答案。
-
是的,我从上周开始一直在尝试,现在把这个问题放在这里。希望有人可能有过这样的经历:)
-
我会尝试使用 midlet 进行尽可能简化的测试,将
permissionSettings中的代码包装到 try-catch 块中,如果有异常,它将捕获并报告任何异常 -
好吧,没有抛出任何异常,因为我尝试通过放入 try catch 来尝试,问题出现在我上面提到的特定手机以及应用程序签名时。如果我在未签署应用程序的情况下运行它可以工作很好(可能是因为那个时候它不要求总是允许?只是一个猜测)
标签: java-me permissions midp-2.0 jsr75