私はEclipseでZXingプロジェクトを開発しています:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b=(Button)findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view)
{
Log.d("test", "button works!");
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("com.google.zxing.client.android.SCAN.SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);
b1 = (Button)findViewById(R.id.button111);
}
public void onActivityResult(int requestCode, int resultCode, Intent intent)
{
if (requestCode == 0)
{
if (resultCode == RESULT_OK)
{
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
Log.i("xZing", "contents: "+contents+" format: "+format);
// Handle successful scan
}
else if (resultCode == RESULT_CANCELED)
{
// Handle cancel
Log.i("xZing", "Cancelled");
}
}
ファインダ パターンの座標がDetector
クラス ( getTopLeft
and getTopRight
and getBottomLeft
) にあることがわかりましたが、それらにアクセスしたい場合、コードにエラーが発生します。これらの変数にアクセスする方法がわかりません。たとえばpublic static FinderPattern topLeft1
、Detector
クラスとprocessFinderPatternInfo
追加するメソッドで a を定義しますtopLeft1=topLeft
。結果の後startActivity
に追加します:
float m1=Detector.topLeft1.x;
m2=Detector.topLeft1.y;
b.setText("(x,y)="+m1+","+m2);
しかし、プログラムを実行してスキャンするボタンをクリックすると、次のようになります。
残念ながら、zxing は停止しました
画像を投稿するには評判が 10 必要ですが、logcat 画像を投稿できません :-( 誰かすぐに助けてくれませんか? どうもありがとう