OnActivityResult 意图始终为空

问题描述 投票:0回答:0

我的 C# 应用程序调用支付应用程序,用户选择卡或 mbway 就完成了。

CrossCurrentActivity.Current.Activity.StartActivityForResult(intent, ActivityRequestCode);

问题是所有付款都被拒绝,不仅如此,通过 OnActivityResult 返回的意图为空。结果代码返回为“已取消”。

        protected override void OnActivityResult(int requestCode, Result resultCode, Intent intent)
        {
            base.OnActivityResult(requestCode, resultCode, intent);
            if (requestCode == 123456)
            {
                string status = "";
                string errorCode = "";
                string date = "";
                string reference = "";
                string amount = "";

                Toast.MakeText(Android.App.Application.Context, "Resultcode: " + resultCode, ToastLength.Long).Show();
                if (intent != null && intent.Extras != null)
                {
                    Toast.MakeText(Android.App.Application.Context, "Sucesso", ToastLength.Long).Show();
                    Bundle bundle = intent.GetBundleExtra(CALLIN_STATUS_KEY);
                    if (intent.Extras.ContainsKey(CALLIN_ERROR_KEY))
                        errorCode = (string)bundle.GetString(CALLIN_ERROR_KEY);
                    if (intent.Extras.ContainsKey(CALLIN_STATUS_KEY))
                        status = (string)bundle.GetString(CALLIN_STATUS_KEY);
                    if (intent.Extras.ContainsKey(CALLIN_DATE_KEY))
                        date = (string)bundle.GetString(CALLIN_DATE_KEY);
                    if (intent.Extras.ContainsKey(CALLIN_AMOUNT_KEY))
                        amount = (string)bundle.GetString(CALLIN_AMOUNT_KEY);
                    if (intent.Extras.ContainsKey(CALLIN_REF))
                        reference = (string)bundle.GetString(CALLIN_REF);

                    Toast.MakeText(Android.App.Application.Context,
                        "STATUS2: " + status +
                        "\nError: " + errorCode +
                        "\nAmount: " + amount +
                        "\nDate: " + date +
                        "\nReference: " + reference
                        , ToastLength.Long).Show();
                }
                else
                {
                    Toast.MakeText(Android.App.Application.Context, "Intent nulo", ToastLength.Long).Show();
                }
            }
        }

任何帮助将不胜感激。

我需要了解它的内容,这样我才能继续调试。

c# xamarin onactivityresult
© www.soinside.com 2019 - 2024. All rights reserved.