Android 从条形码扫描中获取结果
我可以通过intents调用条形码扫描仪,但是当我尝试捕获扫描返回的值时,在尝试构建解决方案时会出现以下错误Android 从条形码扫描中获取结果,android,xamarin.android,zxing,Android,Xamarin.android,Zxing,我可以通过intents调用条形码扫描仪,但是当我尝试捕获扫描返回的值时,在尝试构建解决方案时会出现以下错误 Android.Content.Intent不包含“getStringExtras”的定义,并且找不到接受“Android.Content.Intent”类型的第一个参数的扩展方法“getStringExtras”(是否缺少using指令或程序集引用?) 当前上下文中不存在名称“RESULT\u cancelled” 当前上下文中不存在名称“RESULT_OK” 下面是我调用扫描器和
- Android.Content.Intent不包含“getStringExtras”的定义,并且找不到接受“Android.Content.Intent”类型的第一个参数的扩展方法“getStringExtras”(是否缺少using指令或程序集引用?)
- 当前上下文中不存在名称“RESULT\u cancelled”
- 当前上下文中不存在名称“RESULT_OK”
Button scan = (Button)FindViewById(Resource.Id.scan);
scan.Click += (o, e) =>
{
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.SetPackage("com.google.zxing.client.android");
intent.PutExtra("com.google.zxing.client.android.SCAN.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");
}
else if (resultCode == RESULT_CANCELED)
{
}
}
}
这里的问题是,您的
onActivityResult
方法没有正确地从Java转换为Android版的Mono
它应该看起来更像:
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
if (requestCode == 0)
{
if (resultCode == Result.Ok)
{
String contents = data.GetStringExtra("SCAN_RESULT");
String format = data.GetStringExtra("SCAN_RESULT_FORMAT");
}
else if (resultCode == Result.Canceled)
{
}
}
}
翻译的重点是:
这里的问题是,您的
onActivityResult
方法没有正确地从Java转换为Android版的Mono
它应该看起来更像:
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
if (requestCode == 0)
{
if (resultCode == Result.Ok)
{
String contents = data.GetStringExtra("SCAN_RESULT");
String format = data.GetStringExtra("SCAN_RESULT_FORMAT");
}
else if (resultCode == Result.Canceled)
{
}
}
}
翻译的重点是:
尝试使用zxing提供的实用程序类,可以找到。如果未安装条形码扫描仪应用程序,这也将防止应用程序崩溃。请尝试使用zxing提供的实用程序类,该类可以找到。如果未安装条形码扫描仪应用程序,这也将防止应用程序崩溃。这种方法可能不是实现这一点的最佳方法,因为如果未安装zxing的条形码扫描仪,应用程序将崩溃。(他只需要先捕获ActivityNotFoundException或检查软件包,或者使用IntentIntegrator——很容易就不会被绊倒。)这种方法可能不是实现这一点的最佳方法,因为如果没有安装zxing的条形码扫描仪,您的应用程序将崩溃。(他只需捕获ActivityNotFoundException或首先检查包,或者使用IntentIntegrator即可——很容易不会被绊倒。)我很想用这种方式实现,但链接只是一大堆java,正如你所知,这不是我的驾驶室。如果有一个单机器人的例子,只要打开扫描仪,使用IntentIntegrator获得结果,那将非常感谢。我还没有在谷歌上找到一个。我很想用这种方式实现,但是link只是一大堆java,正如你所知,这不是我的驾驶室。如果有一个单机器人的例子,只要打开扫描仪,使用IntentIntegrator获得结果,那将非常感谢。我还没有在谷歌上找到一个。