我正在使用Xamarin在C#中编写一个Android程序,它将扫描条形码(通过调用条形码扫描器应用程序),然后根据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等
有谁知道出了什么问题?
詹姆斯
答案 0 :(得分:0)
更改您的方法,以便它覆盖基础Activity
类:
protected override void OnActivityResult(int requestCode, int resultCode, Intent data)
{
}
您扩展的Activity
类最有可能包含如下虚拟方法:
protected virtual void OnActivityResult(int requestCode, int resultCode, Intent data)
{
}
您当前正在隐藏基础虚拟方法,并且您的方法永远不会按原样“命中”。