React Native(Android)扫描QRCode

时间:2015-11-17 06:50:21

标签: android qr-code react-native

我想编写一个用于扫描条形码的本机模块,但是如果不向MainActivity添加方法,我就很难找到处理结果的方法。修改MainActivity并不是一个好主意,因为对于编写javascript来使用该模块的应用程序开发人员来说,这不是一件容易的事。 例如,如果我使用ZXing Android Embedded:https://github.com/journeyapps/zxing-android-embedded,我必须向MainActivity添加一个方法来处理结果。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
    if(result != null) {
        if(result.getContents() == null) {
            Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show();
        }
    } else {
        // This is important, otherwise the result will not be passed to the fragment
        super.onActivityResult(requestCode, resultCode, data);
    }
}

这就产生了一个问题,即使用此模块的任何人都必须修改其MainActivity,这意味着该模块很难使用。那么,有什么想法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您可以只使用react-native-rn-zxing

npm i react-native-rn-zxing

然后将其链接:

react-native link react-native-rn-zxing

享受