StartActivityForResult not firing OnActivityResult

本文关键字:OnActivityResult firing not StartActivityForResult | 更新日期: 2023-09-27 17:52:57

我正在用c#编写一个Android程序,使用Xamarin扫描条形码(通过调用barcode Scanner应用程序),然后根据web服务检查代码。

我不能从条形码扫描器得到结果。该应用程序似乎开始和结束正确,但OnActivityResult方法没有触发。

下面是我的代码:

namespace AndroidApplication1
{
[Activity(Label = "AndroidApplication1", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{
    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);
        // Set our view from the "main" layout resource
        SetContentView(Resource.Layout.Main);
        //Start Barcode Scanner program
        Intent intent = new Intent("com.google.zxing.client.android.SCAN");
        //intent.PutExtra("com.google.zxing.client.android.SCAN.SCAN_MODE", "ONE_D_MODE");
        StartActivityForResult(intent, 0);
    }
    public void OnActivityResult(int requestCode, int resultCode, Intent data)
    {
    }
}
}

我已经尝试了各种各样的事情,如使' o '在OnActivityResult小写和取消注释意图。PutExtra等

有谁知道是怎么回事吗?

詹姆斯

StartActivityForResult not firing OnActivityResult

改变你的方法,使它覆盖基本的Activity类:

protected override void OnActivityResult(int requestCode, int resultCode, Intent data)
{
}

您要扩展的Activity类很可能包含如下的虚方法:

protected virtual void OnActivityResult(int requestCode, int resultCode, Intent data)
{
}

你当前隐藏了底层的虚拟方法,你的方法永远不会被"击中"。

相关文章:
  • 没有找到相关文章