Zxing при сканировании кода qr возвращается в меню - PullRequest
0 голосов
/ 04 марта 2012

У меня есть библиотека zxing, импортированная в мой проект, и сканер работает как чудо, но когда я сканирую qr-код, он говорит, что Qr-код найден и возвращается в меню, которое я настроил, есть ли способ показать результат иустановите его, чтобы открыть URL

package com.Qrgolf.App;

import java.util.regex.Pattern;

import com.google.zxing.Result;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

    Button scan = (Button) findViewById(R.id.SCANBUTTON);

    scan.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            Intent intent = new Intent("com.google.zxing.client.android.SCAN");
            intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
            startActivityForResult(intent, 0);
        }
    });
    };

    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");
                // Handle successful scan
            } else if (resultCode == RESULT_CANCELED) {
                // Handle cancel
            }
        }
    }
}

1 Ответ

1 голос
/ 04 марта 2012

Вы должны рассмотреть возможность вернуться к своим старым вопросам и принять ответы, если они были правильными.

Также вам нужно изменить метод onActivityResult (), чтобы он делал то, что вы хотите делать с результирующей строкой из QR.

вот пример:

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");
            // Handle successful scan
            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_VIEW);
            intent.setData(android.net.Uri.parse(contents));
            startActivity(intent);
        } else if (resultCode == RESULT_CANCELED) {
            // Handle cancel
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...