Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Card.io返回空值_Android_Xamarin_Card.io - Fatal编程技术网

Android Card.io返回空值

Android Card.io返回空值,android,xamarin,card.io,Android,Xamarin,Card.io,我尝试使用card.io和Xamarin(android)检索我的卡号,函数执行正确,但这一行总是返回null var scanResult = data.GetParcelableExtra(CardIOActivity.ExtraScanResult).JavaCast<CreditCard>(); var scanResult=data.GetParcelableExtra(CardIOActivity.ExtraScanResult).JavaCast(); 我想知道的另

我尝试使用card.io和Xamarin(android)检索我的卡号,函数执行正确,但这一行总是返回null

var scanResult = data.GetParcelableExtra(CardIOActivity.ExtraScanResult).JavaCast<CreditCard>();
var scanResult=data.GetParcelableExtra(CardIOActivity.ExtraScanResult).JavaCast();
我想知道的另一件事是,当我把我的卡放在摄像机前时,它会自动返回吗?因为,如果是这样的话,它不会发生,就在我按下键盘的时候,它叫ActivityResult

这是我的全部代码,对于仍然存在的任何疑问

protected override void OnCreate (Bundle bundle)
    {
        base.OnCreate (bundle);

        // Set our view from the "main" layout resource
        SetContentView (Resource.Layout.Main);

        // Get our button from the layout resource, and attach an event to it
        Button button = FindViewById<Button> (Resource.Id.myButton);

        button.Click += delegate {
            var scanIntent = new Intent(this, typeof (CardIOActivity));

            scanIntent.PutExtra(CardIOActivity.ExtraAppToken, CARDIO_TOKEN);

            scanIntent.PutExtra(CardIOActivity.ExtraRequireExpiry, true);   
            scanIntent.PutExtra(CardIOActivity.ExtraRequireCvv, false);         
            scanIntent.PutExtra(CardIOActivity.ExtraRequirePostalCode, false); 
            scanIntent.PutExtra(CardIOActivity.ExtraUseCardioLogo, true);
            scanIntent.PutExtra(CardIOActivity.ExtraSuppressConfirmation, true);
            scanIntent.PutExtra(CardIOActivity.ExtraSuppressManualEntry, true);

            StartActivityForResult(scanIntent, 100);
        };
    }

    protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
    {
        base.OnActivityResult(requestCode, resultCode, data);

        if (data != null && data.HasExtra(CardIOActivity.ExtraScanResult))
        {
            var scanResult = data.GetParcelableExtra(CardIOActivity.ExtraScanResult).JavaCast<CreditCard>();
            RunOnUiThread(() =>
                {
                    var sb = new StringBuilder();

                    sb.AppendLine("card number " + scanResult.CardNumber);
                    sb.AppendLine("cvv " + scanResult.Cvv);
                    sb.AppendLine("exipry " + scanResult.ExpiryMonth.ToString() + "/" + scanResult.ExpiryYear.ToString());
                    sb.AppendLine("zip " + scanResult.Zip);

                    var ad = new AlertDialog.Builder(this);
                    ad.SetTitle("New card added");
                    ad.SetMessage(sb.ToString());
                    ad.SetPositiveButton("OK", delegate
                        {
                            ad.Dispose();
                        });
                    ad.Show();
                });
        }
    }
protectedoverride void OnCreate(捆绑包)
{
base.OnCreate(bundle);
//从“主”布局资源设置视图
SetContentView(Resource.Layout.Main);
//从布局资源中获取我们的按钮,并将事件附加到它
Button Button=FindViewById(Resource.Id.myButton);
按钮。单击+=委派{
var scanIntent=新的意图(此,类型(心脏活动));
scanIntent.PutExtra(CardIOActivity.ExtraAppToken,CARDIO_TOKEN);
scanIntent.PutExtra(心脏活动.ExtraRequireExpiry,true);
scanIntent.PutExtra(CardIOActivity.ExtraRequireCvv,false);
scanIntent.PutExtra(CardIOActivity.ExtraRequirePostalCode,false);
scanIntent.PutExtra(CardIOActivity.ExtraUseCardioLogo,true);
scanIntent.PutExtra(心脏活动.ExtraConfirmation,true);
scanIntent.PutExtra(CardIOActivity.Extra输入,真);
StartActivityForResult(scanIntent,100);
};
}
受保护的覆盖void OnActivityResult(int请求代码、结果代码、意图数据)
{
base.OnActivityResult(请求代码、结果代码、数据);
if(data!=null&&data.HasExtra(CardIOActivity.ExtraScanResult))
{
var scanResult=data.GetParcelableExtra(CardIOActivity.ExtraScanResult).JavaCast();
RunOnUiThread(()=>
{
var sb=新的StringBuilder();
sb.追加行(“卡号”+扫描结果卡号);
sb.附录行(“cvv”+scanResult.cvv);
sb.AppendLine(“exipry”+扫描结果.ExpiryMonth.ToString()+“/”+扫描结果.ExpiryYear.ToString());
sb.AppendLine(“zip”+scanResult.zip);
var ad=new AlertDialog.Builder(此);
ad.SetTitle(“新增卡”);
ad.SetMessage(sb.ToString());
ad.SetPositiveButton(“确定”,代表
{
ad.Dispose();
});
广告秀();
});
}
}

能否删除JavaCast并查看它是否仍然为空?还有resultCode的值是多少,是Result。好吗?我现在测试并发布结果。