在浏览器中打开URL并更改应用视图-Android Xamarin

时间:2018-09-28 20:45:37

标签: c# android xamarin xamarin.android

如何在设备的默认浏览器中打开URL并更改应用程序的视图,以便他们在查看打开的URL之后又返回到应用程序,并处于新视图中?

以下是我到目前为止的内容:

            Button btnOkay = FindViewById<Button>(Application.Context.Resources.GetIdentifier("btnOkay", "id", Application.Context.PackageName));
            btnOkay.Click += (sender, eventArgs) =>
            {
                // Open Survey Monkey Survey in Browser
                var uri = Android.Net.Uri.Parse("https://www.example.com/");
                var intent = new Intent(Intent.ActionView, uri);
                StartActivity(intent);

                // Go to Thank you view in app.
                intent = new Intent(this, typeof(PatientPostVisitSurveyThanksActivity));
                StartActivity(intent);

            };

问题是,它转到下一个视图,并且仅当我单击返回原始视图时才会在浏览器中打开URL。

1 个答案:

答案 0 :(得分:1)

  

我只希望在用户手动返回应用程序时更改应用程序视图。

您可以为此使用活动生命周期。用户按下后(或从活动应用列表中选择它)后,您应用的最后一个活动将执行OnResume。在启动浏览器之前设置一个标志,并在OnResume

中测试该标志
btnOkay.Click += (sender, eventArgs) =>
{
    GotoNewActivity = true;

    // Open Survey Monkey Survey in Browser
    var uri = Android.Net.Uri.Parse("https://www.example.com/");
    var intent = new Intent(Intent.ActionView, uri);
    StartActivity(intent);
};

bool GotoNewActivity;
protected override void OnResume()
{
    base.OnResume();
    if (GotoNewActivity)
    {
        GotoNewActivity = false;
        // Go to Thank you view in app.
        var intent = new Intent(this, typeof(ThankYouActivity));
        StartActivity(intent);
    }
}