2016-06-28 63 views
1

我的测试Android设备是:MobileFirst 7.1加密缓存ERROR_COULD_NOT_GENERATE_KEY

  1. Genymotion自定义电话5.1.0
  2. HTC M9 5.0.2

MobileFirst平台:7.1.0 2015年至1214年

当我尝试使用此代码使用加密缓存API时:

WL.EncryptedCache.open("UserInfo", true, 
function(res){console.log("success !!");}, 
function(res){console.log("errorCode : " + JSON.stringify(res));}); 

然后,我得到错误回调

错误码:11

这的errorCode应该是WL.EncryptedCache.ERROR_COULD_NOT_GENERATE_KEY。

但此代码在iOS设备中正常工作。

我无法找到有关此错误代码Knowledge Center

有什么不对加密缓存API或Android设备的任何信息?

+0

它是否在股票Android设备作为与genymotion相反的工作? –

+0

嗨伊丹,我测试真正的设备HTC M9(5.0.2)仍然有这个错误 – DannyYang

+0

我试试这个示例代码,但结果相同。 https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/7.1/data/storing-sensitive-data-in-encrypted-cache/#create – DannyYang

回答

1

检查您的应用程序的wlclient.properties文件(位于本机\ assets文件夹中)。

发生这种情况的最可能原因是主机值设置为您的计算机名称而不是主机名或IP地址。相应地更改值,这将工作。

+0

它加密缓存API是否需要连接WL服务器?如果它确实为什么iOS可以在离线状态下工作? – DannyYang

+0

默认情况下,它将连接到服务器以创建更强大的加密,但您可以选择使用设备(不太强大)。在iOS中它的工作原理与这个问题无关。问题是主机名。 –

+0

如何“选择使用设备”(Android)?谢谢Idan – DannyYang