コルドバ 2.6.0 を使用します。そしてAndroid側のプラグイン。
問題は、base-64 文字列をプラグインに渡そうとしていますが、エラーが発生したことです:
java.lang.IllegalArgumentException: base-64 が正しくありません
デバッグを試みたところ、javascript から送信された base-64 文字列 (cordova.exec 関数から) と Java で受信したプラグインとの間にサイズの不一致があることがわかりました。Java の文字列のサイズは、元の文字列のほぼ半分です。
ブラウザに両方の文字列を貼り付けて、同じことを確認しました。ブラウザには、java 部分ではなく、javascript 部分の画像が表示されました。
また、JSON オブジェクト (base-64 文字列を含む) を文字列化して、プラグインに渡そうとしました。ただし、サイズの不一致もあります(上記と同じ)。
異なる画像を試してみましたが、同じ結果が得られました。
解決策は、送信された base-64 文字列をいくつかの部分に分割し、Java/プラグイン側で再度使用することです。
JSON配列で引数を受け取っていますが、おそらく制限があるかもしれません。M わかりません。
誰かが助けて、どこが間違っているのか教えてくれることを願っています。