私は自分の質問に答えるためにこれを投稿しています(他の誰かがこの問題を抱えている場合に備えて言葉を広めるためです)。
ZXingのAndroidライブラリを使用してQRコードを生成しています。QRコードは正しく生成され、表示できます(を使用して手動でレンダリングした後QRCode.getMatrix().getArray()
)。ただし、生成されたQRコードは、ZXingのスキャナー自体を含め、Android市場で入手可能なほとんどのQRコードリーダーではスキャンされません。
さらに、のエラー訂正レベルを設定するとEncoder
、それは無視され、ランダムなレベル(通常はレベルQ)でエンコードされます。
このコードでQRコードを生成します。
QRCodeコード; 試す {{ code = Encoder.encode( "... QRCODEDATA ..."、ErrorCorrectionLevel.L); } catch(WriterException ex) {{ log( "QRコードの取得に失敗しました"); nullを返します。 }
...そして、QRCode
オブジェクトを取得した後、次のようにビットマップを描画します。
byte[][] bitArray = qrCode.getMatrix().getArray();
if(bitArray == null || bitArray.length < 1)
return null;
for(int x = 0;x < bitArray.length;x++)
{
for(int y = 0;y < bitArray[x].length;y++)
{
if(bitArray[x][y] == 0)
bitmapDrawCell(x,y,WHITE);
else
bitmapDrawCell(x,y,BLACK);
}
}
これが私が最終的に得たものです。
正しく見えますが、スキャンされません。一握りのQRコードスキャナーはまだそれをスキャンしますが、ほとんどはスキャンしません。どうしたの?