Xamarin.android:如何从SMS应用程序返回主应用程序



我的应用程序使用以下代码来调用MainActivity的默认SMS应用程序:

        if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat)
        {
            string defaultSmsPackageName = Telephony.Sms.GetDefaultSmsPackage(this);
            Intent intent = new Intent(Intent.ActionMain);
            intent.AddCategory(Intent.CategoryDefault);
            intent.SetType("vnd.android-dir/mms-sms");
            if (defaultSmsPackageName != null)
                intent.SetPackage(defaultSmsPackageName);
            StartActivity(intent);
        }
        else
        {
            Intent intent = new Intent(Intent.ActionMain);
            intent.AddCategory(Intent.CategoryDefault);
            intent.SetType("vnd.android-dir/mms-sms");
            StartActivity(intent);
        }

默认的SMS应用程序启动了,但是当我按下后面按钮时,我只是关闭应用程序窗口或返回MainActivity窗口。有人可以向我解释我犯错误吗?

我没有让您的代码工作,我认为它仅适用于您拥有的一种消息传递应用程序。我建议使用这种代码调用SMS应用程序(在此处进行更多讨论:通过意图发送SMS并知道SMS是否已发送(:

Intent intent = new Intent(Intent.ActionView);
intent.SetData(Android.Net.Uri.Parse("smsto:" + phoneNumber));
intent.PutExtra("address", phoneNumber);
intent.PutExtra("sms_body", messageBody);
intent.PutExtra("exit_on_sent", true);
StartActivity(intent);

使用此代码,在SMS应用程序中立即按下后按钮将重新打开您的应用程序。但是,如果用户在SMS应用程序中执行其他操作,我的经验是它不会返回您的应用程序。我认为您不能强迫其他应用程序始终返回您的应用程序。如果您不能接受,我建议您直接从您的应用程序发送SMS。

最新更新