首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条码扫描结果

条码扫描结果
EN

Stack Overflow用户
提问于 2011-12-27 20:50:52
回答 2查看 4.9K关注 0票数 1

我能够通过意图调用条形码扫描器,但当我试图捕获基于的扫描返回的值时,在试图构建解决方案时会出现以下错误。

  • Android.Content.Intent‘不包含'getStringExtras’的定义,也找不到接受'Android.Content.Intent‘类型的第一个参数的扩展方法'getStringExtras’(您缺少使用指令还是程序集引用?)
  • 名称“RESULT_CANCELED”在当前上下文中不存在
  • 名称“RESULT_OK”在当前上下文中不存在

下面是我的代码,用于调用扫描器和尝试返回结果。单击事件在onCreate中。onActivityResult是same.cs中与scan.Click事件相同的类和名称空间中的一个方法。

代码语言:javascript
复制
    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)
            {

            }
        }
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-27 21:29:00

这里的问题是,您的onActivityResult方法没有从Java正确地转换为用于Android的Mono。

它应该看起来更像:

代码语言:javascript
复制
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)
        {

        }
    }
}

翻译的重点是:

  1. 正确的OnActivityResult签名(和覆盖)
  2. 使用结果枚举
  3. Java中的getStringExtra方法是C#中的GetStringExtra
票数 5
EN

Stack Overflow用户

发布于 2011-12-27 21:36:57

尝试使用zxing提供的实用工具类,可以找到这里。这也将防止您的应用程序崩溃,如果条形码扫描应用程序没有安装。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8649160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档