如何使用CustomTabsClient在页面更改时获取URL?
例如,WebView有一个方法:
@Override public void onPageStarted(WebView view,String url,Bitmap favicon){}
我需要一个类似于CustomTabs的方法.
我找到了这个:
mClient.newSession(new CustomTabsCallback(){ @Override public void onNavigationEvent(int navigationEvent,Bundle extras) { super.onNavigationEvent(navigationEvent,extras); } @Override public void extraCallback(String callbackName,Bundle args) { super.extraCallback(callbackName,args); } });
但我不确定这是否是我需要的.
解决方法
How to get the url when the page changes,using
CustomTabsClient
?
不幸的是你不能. Chromium bug跟踪器上还有一个未解决的问题:
https://code.google.com/p/chromium/issues/detail?id=543542
您现在唯一能做的就是知道选项卡何时开始或已完成加载页面,但您无法检索URL:
mClient.newSession(new CustomTabsCallback(){ @Override public void onNavigationEvent(int navigationEvent,Bundle extras) { Log.w(TAG,"onNavigationEvent: Code = " + navigationEvent); switch (navigationEvent) { case NAVIGATION_STARTED: // Sent when the tab has started loading a page. break; case NAVIGATION_FINISHED: // Sent when the tab has finished loading a page. break; case NAVIGATION_Failed: // Sent when the tab couldn't finish loading due to a failure. break; case NAVIGATION_ABORTED: // Sent when loading was aborted by a user action before it finishes like clicking on a link // or refreshing the page. break; } } });