C# StartActivityForResult未在ActivityResult上点火

C# StartActivityForResult未在ActivityResult上点火,c#,android,xamarin,C#,Android,Xamarin,我正在用C语言编写一个Android程序,使用Xamarin,通过调用条形码扫描仪应用程序扫描条形码,然后对照web服务检查代码 但是我无法从条形码扫描仪上得到结果。该应用程序似乎正在正确启动和结束,但OnActivityResult方法未启动 这是我的密码: namespace AndroidApplication1 { [Activity(Label = "AndroidApplication1", MainLauncher = true, Icon = "@drawable/icon")]

我正在用C语言编写一个Android程序,使用Xamarin,通过调用条形码扫描仪应用程序扫描条形码,然后对照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)
    {
    }
}
}
我尝试过各种方法,比如在OnActivityResult小写中使用“O”和取消对intent.PutExtra的注释等

有人知道怎么回事吗


James

更改方法,使其覆盖基本活动类:

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

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

您当前正在隐藏底层的虚拟方法,并且您的方法将永远不会像现在这样受到攻击。

我是Android的真正新手,因此您可以更具体一些吗?如果我用那个方法替换OnActivityResult方法或添加它,它会说没有合适的方法可以重写。很抱歉,如果这个回答一开始看起来很简短;我还没做完就按了回车键,明白了,谢谢!这也是第二个结果代码需要为result类型,因此:受保护的override void OnActivityResultint请求代码、结果结果代码、意图数据
protected virtual void OnActivityResult(int requestCode, int resultCode, Intent data)
{
}