下記のコードを試してください。 実用的なコードです。自分で使っています。ここで説明するように
public class MyTestActivity extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
Button b = new Button(this);
b.setText("Scan");
b.setWidth(100);
LinearLayout ll = new LinearLayout(this);
b.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
startActivityForResult(intent, 0);
}
});
ll.addView(b);
setContentView(ll);
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
// IntentResult scanResult = IntentIntegrator.parseActivityResult(
// requestCode, resultCode, intent);
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
Dialog d = new Dialog(this);
LinearLayout ll = new LinearLayout(this);
TextView tv = new TextView(this);
tv.setText(contents+" "+format);
ll.addView(tv);
d.setContentView(ll);
d.show();
}
}
}
}
はそれが
に
を変更解決するために、同じ問題を抱えていました。 Zxingアクティビティをインテントで起動し、カメラですべてを処理するため、ZxingアプリケーションのみがCAMERA権限を保持する必要があります。 – FoamyGuy
FYI zxingのandroidtestサンプルパッケージでさえ、マニフェストファイルのパーミッションを持っています。 –
はい、実際にはこの権限セットを使用しないで動作しています。私はまだ予防策としてそれを使用したいと思います。 :) –