如何在设备的默认浏览器中打开 URL 并更改应用程序的 View ,以便在他们查看完打开的 URL 并返回到应用程序后,他们处于新 View 中?
以下是我目前所拥有的:
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);
};
问题是,它会转到下一个 View ,并且只有在我单击返回以转到原始 View 时才会在浏览器中打开 URL。
最佳答案
I just want the app view to be changed when the user manually goes back into the app.
您可以为此使用 Activity 生命周期。您应用的最后一个 Activity 将在用户按下返回(或从 Activity 应用列表中选择它)后执行 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);
}
}
关于c# - 在浏览器中打开 URL 并更改应用程序 View - Android Xamarin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52562449/