如何在设备的默认浏览器中打开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。
答案 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);
}
}