我正在使用Xamarin.Android构建应用程序,这意味着当用户点击某个单元格时,在Chrome中打开一个网址。几个小时前,一切都很好。它在一台设备上工作正常但在另一台设备上却没有。没有迹象表明为什么它没有在其中一部手机上打开Chrome。过了一段时间,我手动打开Chrome以确保一切正常,并发现它已经在几分钟前自动更新了,我还没有接受他们的条款&条件。在接受它们之后,一切都恢复正常。
我的问题是没有任何迹象表明问题出在Chrome的EULA上,而且看起来我的应用就是那个有问题的应用。 我使用下面的代码使用CustomTabsLibrary启动URL:
var intent = builder.Build ();
var mgr = new CustomTabsActivityManager (this);
mgr.CustomTabsServiceConnected += delegate {
mgr.LaunchUrl ("http://xamarin.com", intent);
};
mgr.BindService ();
当设备上未安装Chrome时,系统会调用以下回调,但事实并非如此。在我们的情况下,如果用户不接受Google Chrome应用的EULA,我们就没有任何可用的回调知道,因此,它不会将用户重定向到该网址。
if (!mgr.BindService ()) {
// Cannot use Custom Tabs,
// Launch the URL another way
}
以前有没有人遇到这个问题?有什么办法可以解决这个问题吗? CustomTabsLibrary
答案 0 :(得分:0)
Google似乎已经解决了Chrome问题。当用户未接受TOS时,现在调用回叫并按原样启动Chrome,将您带到可以接受服务条款的屏幕。