在Android开发中当需要使用WebView加载H5实现快速开发的时候,而H5除了app端使用外又有其他访问方式,通常就需要标示出是通过app访问的还是通过其他方式访问的,这个时候比较好(个人感觉)的做法就是在每次请求的URL后添加标示位,告诉服务器是app端在访问:
下面是自己的一些经验:
首先是WebView的loadUrl()方法:
webView.loadUrl(WebApi.WEB_URL + app_url);
其次就是在每次访问的Url后面添加标示位:
我们在初始化webView的时候通常需要给WebView设置WebViewClient
webView.setWebViewClient(new webViewClient());
这里使用的是自定义的Client,继承自WebViewClient,这个类有一个方法shouldOverrideUrlLoading,在这个方法中我们可以拿个每一个H5请求的URL,这个方法在请求发生前执行,我们可以在这里为每个URL添加标示位,或者拦截某个URL(前文有讲:http://blog.csdn.net/qq_33923079/article/details/52969420);下面我们就来看一下这个方法和添加标示位:
private class webViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url + app_url);
Log.d("APPURL", url);
}
}
代码很简单,这里就不多说了。