我想在 Xamarin 中为 Android 和 iOS 打开一个网页,但代码不起作用。谁能帮我找出问题所在吗?
对于 Android,单击按钮会执行代码,但之后什么也不会发生。对于 iOS,单击该按钮确实会打开 Safari 页面,但无法打开该页面,并显示一条消息“Safari 无法打开该页面,因为服务器停止响应”。
通过的测试参数是:“http://www.google.com”
谢谢。
代码:
async Task ExecuteLaunchBrowserAsync(string arg)
{
if (IsBusy)
return;
try
{
await CrossShare.Current.OpenBrowser(arg, new BrowserOptions
{
ChromeShowTitle = true,
ChromeToolbarColor = new ShareColor
{
A = 255,
R = 100,
G = 50,
B = 255
},
UseSafariReaderMode = true,
UseSafariWebViewController = true
});
}
catch
{
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,其中主页 activity有多个fragments. 其中一个片段监听从Home启动的另一个活动的事件,因此每次我从该活动返回Home时都会执行一个方法。虽然我想要的是仅在片段对前台用户可见时触发这些事件并执行该方法。
我尝试过以下方法,但似乎没有任何效果:
isAdded()并isVisible()检查 - 总是true在创建片段后立即返回,无论片段是否对用户实际可见。getUserVisibleHint()true-即使我仍在其他活动中,这也会再次出现。此外,它也已被弃用,因此即使它有效,我也想寻找其他解决方案。我已经走进了一个死胡同,寻找一种实际的工作方法来检查片段是否实际上对用户可见,而不仅仅是添加到内存中。
对此有任何帮助,我们将不胜感激!