WebView
アンカー タグをrel=external
Android ブラウザで開く必要がありますが、他のすべてのリンクはWebView
.
したがって、WebView
ユーザーがマークアップが次のようなリンクをタップすると、コンテンツがロードされます。
<a href="http://example.com/">Whatever</a>
ただし、ユーザーが次のようなマークアップのリンクをタップすると、Android ブラウザーにコンテンツが読み込まれます。
<a href="http://example.com/" rel="external">Whatever</a>
コード内の関連コード (コメントで識別される疑似コードのビット) は次のWebViewClient
とおりです。
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (! rel=external) { // <-- That condition...how do I do that?
view.loadUrl(url);
return false;
} else {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);
return true;
}
rel=external
属性/値があるかどうかを判断する最良の方法は、属性がaddJavascriptInterface()
あるかどうかと値が何であるかを JavaScript に何らかの方法で使用して Java に通知さrel
せることでしょうか?
それとももっと良い方法がありますか?
(内部として処理する必要があり、事前に知ることも、その場で簡単に判断することもできない任意の数のドメインがあるため、URL のドメインをチェックしないソリューションを探しています。)