如果不接受条款和条件,应用程序不会打开 chrome

App doesn't open chrome if Terms & Conditions are not accepted

我正在使用 Xamarin.Android 构建一个应用程序,当用户点击一个单元格时,它会在 Chrome 中打开一个 URL。直到几个小时前,一切都运行良好。它在一台设备上运行良好,但在另一台设备上运行良好。没有任何迹象表明为什么它没有在其中一部手机上打开 Chrome。一段时间后,我手动打开 Chrome 以确保一切正常,并发现它在几分钟前自动更新了,我没有接受他们的条款和条件。接受后,一切正常了。

我的问题是,没有迹象表明问题出在 Chrome 的 EULA 上,看起来好像我的应用程序有问题。 我正在使用下面的代码启动 URL 使用 CustomTabsLibrary:

var intent = builder.Build ();
var mgr = new CustomTabsActivityManager (this);
mgr.CustomTabsServiceConnected += delegate {
mgr.LaunchUrl ("http://xamarin.com", intent);
};
mgr.BindService ();

当设备上未安装 Chrome 时会调用下面的回调,但事实并非如此。在我们的例子中,如果用户不接受 Google Chrome 应用的 EULA,我们没有任何可用的回调可知,因此,它不会将用户重定向到URL.

if (!mgr.BindService ()) {
   // Cannot use Custom Tabs,
   // Launch the URL another way
}

有没有人遇到过这个问题?有什么办法可以解决这个问题吗? CustomTabsLibrary

看来 Google 现在已经解决了 Chrome 上的问题。当用户未接受 TOS 时,回调现在被调用并启动 Chrome,正如它应该的那样,将您带到可以接受 TOS 的屏幕。