これは、私がzxingライブラリを使用してQRコードスキャナを実装するために使用したコードの一部です。Zxing - qrコードを読む前にカメラのビューから戻るボタンを押す
ボタンをクリックすると、mScannerView.stopCamera()がアクティブになり、スキャンの画面が表示されます。私がその画面から戻るボタンを押すと、qrcodeが読み込まれる前に、アプリケーションは完全に閉じ、前の動作に戻りません。任意のqrコードを読む前に、前のアクティビティ(startCamera()が呼び出された場所)に戻るにはどうすればいいですか?何か案は?
新しいアクティビティ:
輸入com.google.zxing.Result。 import me.dm7.barcodescanner.zxing.ZXingScannerView;新規活動ZXingScannerView.ResultHandler個人{
private ZXingScannerView mScannerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new);
}
public void onClick(View v){
mScannerView = new ZXingScannerView(this);
setContentView(mScannerView);
mScannerView.setResultHandler(this);
mScannerView.startCamera();
}
@Override
protected void onPause() {
super.onPause();
mScannerView.stopCamera();
}
@Override
public void handleResult(Result result) {
//Do anything with result here :D
Log.w("handleResult",result.getText());
AlertDialog.Builder builder= new AlertDialog.Builder(this);
builder.setTitle("Scan Result");
builder.setMessage(result.getText());
AlertDialog alertDialog = builder.create();
alertDialog.show();
//Resume scanning uncomment below
//mScannerView.resumeCameraPreview(this);
}
}
カスタムスキャナーを使用していますか? 'IntentIntegrator'を使ってみましたか?これを使用すると、多くの問題が軽減されます。 [Here](https://github.com/zxing/zxing/wiki/Scanning-Via-Intent) – tingyik90
@ tingyik90 IntentIntegratorを使用する場合、どうすれば同じシナリオを処理できますか? integrator.initiateScan()が呼び出されると、QRコードが読み取られたときのみ、カメラの画面が表示され、次のメソッドが有効になります。 public void onActivityResult(int requestCode、int resultCode、Intent intent) qrコードを読み取る前に、スキャン画面から戻るボタンを押した場合を処理しますか? –
'intentIntegrator.initiateScan()'を呼び出した後は、戻るボタンを押しても元の動作に戻ります。元のアクティビティで 'intentIntegrator.initiateScan()'を呼び出す必要があります。元の活動に復帰する方法について質問していますか? (結果がない)スキャン結果をどのように扱うかを尋ねる – tingyik90