codenameone - bouncycastle 库和模态对话框的垫块损坏,无法在最小化的应用程序上显示
问题描述
我对 CN1 有以下问题
我不确定这是因为 CN1 还是 Bouncy Castle 本身。我最近开始在设备上看到此错误。我无法在模拟器中重现此问题。
[EDT] 0:0:0,4 - Exception: java.io.IOException - org.bouncycastle.crypto.InvalidCipherTextException: pad block corrupted java.io.IOException at com_codename1_crypto_EncryptedStorage.createInputStream:70 at com_codename1_io_Storage.readObject:263 at com_codename1_io_Preferences.get:84 at com_codename1_io_Preferences.get:252 at c_server_ServerImpl.__INIT__:49 at _server_Server.__CLINIT__:14 at _Main.init:51 at _MainStub.run:30 at com_codename1_ui_Display.processSerialCalls:1298 at com_codename1_ui_Display.mainEDTLoop:1093
我最近也开始在 iOS 上看到这条消息。
模态对话框无法在最小化的应用程序上显示。
除了使用无限容器外,我不显示任何对话框。
解决方案
我猜模态对话框是由于 EDT 主线程捕获的异常。它通常会显示一个错误对话框。
您尝试在加密存储中读取的文件已损坏。可能在加密发生之前写入。在这种情况下,在实施加密之前,似乎某些内容已保存到首选项中。我建议setPreferencesLocation
在应用加密后立即调用设置不同的文件名以避免这种情况。
推荐阅读
- azure - 用于公共应用程序的 Azure Graph 预订 API
- google-apps-script - 添加/设置部门名称以联系
- acumatica - Feature.xml 更改未显示在启用/禁用自定义功能 UI 中?
- python - 如何使用数据框的数值变量的欧几里得距离计算距离矩阵?
- sql - 具有多行结果集的 SQL Server 存储过程
- python-3.x - 如何在同一类python3中调用其他方法?
- python - Python __init__ 文件无法导入模块
- php - 如何按日期限制查询
- r - 如何为闪亮的网页制作箱线图
- python - 在 Python 中使用 os.rename() 时出现 FileNotFoundError