2

ZXing コードをアプリに統合しました。ライブラリ全体をコピーしてアプリに貼り付けるのではなく、必要な部分を取得するように言われました。キャプチャ アクティビティから始めて、その依存関係をアプリにコピーしました。インテント フィルターを zxing からインテント フィルターに変更しました。ああ、capture.xml でパッケージ名を変更する必要がありました。

私のアクティビティが startActivityForResult() を呼び出すと、スキャナーが起動します。問題は、QRコードをスキャンすると、スキャン結果が呼び出しアクティビティに反映されず、代わりに、SMS、電子メールなどのアクションを終了する方法を尋ねられることです.

スキャン結果をアクティビティの onActivityResult に返すにはどうすればよいですか?

前もってありがとうマット

 Button signin = (Button)findViewById(R.id.buttonsignin);

        alpha = new AlphaAnimation(0.3F, 0.8F); //Set opacity - Range 0.0 to 1.0
        alpha.setDuration(0); // Set animation duration
        alpha.setFillAfter(true); // Maintaining the effect to the button
        signin.startAnimation(alpha);
        signin.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Log.e(TAG, "onclicked sign in");

                Intent intent = new Intent(
                        "com.carefreegroup.SCAN");
                intent.putExtra("SCAN_MODE", "QR_CODE_MODE");

                startActivityForResult(intent, 0);

            }
        });

.

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
        Log.e(TAG, "in onActivityResult");
        if (requestCode == 0) {
            if (resultCode == RESULT_OK) {
                Log.e(TAG, "result ok");

//              
                ///////////////////////////////



                tagScanTime  = new DateTime();

                DateTimeFormatter df = DateTimeFormat.forPattern("dd/MMM/yy h:mmaa");
                String formattedScanTime = df.print(tagScanTime);
                Log.e(TAG, "formatted tag scan time = " + formattedScanTime);



                 contents = intent.getStringExtra("SCAN_RESULT");
//              Toast.makeText(this, "scanner has found " + contents,
//                      Toast.LENGTH_LONG).show();

                 //get info from tag that has been just scanned
                    String[] splitPayload = contents.split(",");

                    tagType = splitPayload[0];
                    tagCompany = splitPayload[1];
                    tagCompany = nfcscannerapplication.getCompId();
                    //tagPerson = splitPayload[2];
                    cursor = nfcscannerapplication.loginValidate.queryAllFromCarer();
...............
..............
..............

.

<activity android:name=".CaptureActivity" >
            <intent-filter>
                <action android:name="com.carefreegroup.SCAN" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
4

0 に答える 0