我的 HTC One Android 手机上的 EncryptedCache 有一些问题。相同的代码适用于另一部手机和浏览器模拟器,但在我的 HTC One 安卓手机上失败,并出现异常错误代码。
我正在使用:Worklight 6.2
失败:HTC one,android 4.4.2 (Cyanogenmod)
正在使用:Samsung I9100 Galaxy S II
正在使用:浏览器模拟器
WL.EncryptedCache.open 在我的手机上失败并返回状态 10..
(* WL.EncryptedCache.write 在我的手机上失败并返回状态 6..)
我还在我的 HTC One 手机上按原样运行 developerworks 的示例应用程序,结果和错误代码相同。 示例应用链接
Logcat 日志:
- 从示例应用程序
1) 已销毁缓存
2) 输入新密钥
3) 打开缓存
4) 收到警报错误消息
完整的日志可以从这里下载
我的代码是:
function wlCommonInit(){
var STORAGE_ID = 'todos';
WL.EncryptedCache.open(STORAGE_ID, true,
function(){ //success
console.log('--> cache opened');
console.log("--> Loading Angular");
angular.element(document).ready(function() {
angular.bootstrap(document, ['todomvc']);
//location.hash = "/";
});
},
function(status){ //fail
console.log("WL.EncryptedCache open error status: " + status);
switch(status){
case WL.EncryptedCache.ERROR_KEY_CREATION_IN_PROGRESS:
alert("ERROR: KEY CREATION IN PROGRESS");
break;
case WL.EncryptedCache.ERROR_LOCAL_STORAGE_NOT_SUPPORTED:
alert("ERROR: LOCAL STORAGE NOT SUPPORTED");
break;
case WL.EncryptedCache.ERROR_NO_EOC:
alert("ERROR: NO EOC");
break;
case WL.EncryptedCache.ERROR_COULD_NOT_GENERATE_KEY:
alert("ERROR: COULD NOT GENERATE KEY");
break;
case WL.EncryptedCache.ERROR_CREDENTIALS_MISMATCH:
alert("ERROR: CREDENTIALS MISMATCH");
break;
default:
alert("AN ERROR HAS OCCURED. STATUS :: " + status);
}
});
}