i***@sina.com
i***@sina.com
  • 发布:2017-10-16 18:46
  • 更新:2018-10-11 14:51
  • 阅读:1701

bitmap save方法在安卓返回-100 加载失败错误

分类:HTML5+

bitmap save方法在安卓返回-100 加载失败错误, 有时候返回成功但是 file路径为null

save success{"target":"file://null","width":0,"height":0,"size":0} at index.html:37

        function saveImg(data) {  
            var bitmap = new plus.nativeObj.Bitmap();  
            bitmap.loadBase64Data(data, function() {  
                    console.log("success");  
                },  
                function(err) {  
                    console.log("fail:" + err.message);  
                });  
            bitmap.save("_doc/bbb.jpg", {  
                overwrite: true,  
                format: "jpg"  
            }, function(e) {  
                console.log("save success" + JSON.stringify(e));  
                plus.nativeUI.alert("save success" + JSON.stringify(e));  
                plus.webview.currentWebview().opener().evalJS("mui('img')[1].src='" + e.target + "'");  
            }, function(err) {  
                console.log("save fail" + err.message + err.code);  
                plus.nativeUI.alert("save fail" + err.message + err.code);  
            });  
            bitmap.recycle();  
        }

下面有demo有官方的人来解答下吗?该怎么办?

2017-10-16 18:46 负责人:无 分享
已邀请:
i***@sina.com

i***@sina.com (作者) - 摸索mui

解决了 把bitmap.recyle()写到回调函数里面
bitmap.save("_doc/bbb.jpg", {
overwrite: true,
format: "jpg"
}, function(e) {
console.log("save success" + JSON.stringify(e));
plus.nativeUI.alert("save success" + JSON.stringify(e));
plus.webview.currentWebview().opener().evalJS("mui('img')[1].src='" + e.target + "'");
bitmap.recycle();
}, function(err) {
console.log("save fail" + err.message + err.code);
plus.nativeUI.alert("save fail" + err.message + err.code);
bitmap.recycle();
});

今天发现了 ,但有一个疑问 写在回调里面应该是正确的写法 但写在外面为什么在iOS上是可以的,安卓不行,对于执行js两个平台差别在哪?希望有大神解惑一下。

Sdykcp

Sdykcp

Mark

该问题目前已经被锁定, 无法添加新回复