【发布时间】:2015-11-17 06:50:20
【问题描述】:
我想编写一个本机模块来扫描条形码,但我很难找到一种方法来处理结果而不向 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,这意味着该模块很难使用。那么,有什么想法可以解决吗?
【问题讨论】:
-
你能添加一些代码来帮助解释问题所在吗?
-
@Isaac Madwed 添加了详细信息来解释问题。感谢您的关注。
-
嗨!你弄明白了吗?
标签: android qr-code react-native