私はこのクラスをwebviewclientとして持つwebviewを持っています。これは、webviewで開いたページへのリンクを作成し、ダウンロード可能なファイルへのリンクをデフォルトのブラウザで開きます。 ここにある:クラスのエラー
class LinkWebView extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.contains("/WS/") | url.contains("/Francesco/")
| url.contains("/Gabriele/")) {
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
ClubCiprianisActivity cca = new ClubCiprianisActivity();
cca.comincia(intent);
} catch (Exception ex) {
ClubCiprianisActivity cca = new ClubCiprianisActivity();
cca.tostizza(ex.getMessage());
}
} else {
view.loadUrl(url);
}
return true;
}
}
WebViewの中またはデフォルトのブラウザでリンクを開くことwheter選択する条件は、そのウェブサイトのために正しいですので、このWebViewのは、特定のウェブサイトからのみのURLをロードします。
ClubCiprianisActivityは、私のアプリケーションに表示されている唯一のアクティビティです.Webviewなどすべてのアクティビティが表示されます。 ClubCiprianisActivityの
メソッドcominciaはこれです:
public void comincia(Intent intent) {
startActivity(intent);
}
EclipseはwebviewclientクラスのメソッドのstartActivityを認識しないので、私はそれをしなければなりませんでした。 tostizzaはwebviewclientクラスのどちらでもできないので、Toastを表示しているだけです。私の問題は、ウェブページへのリンクを開くと、普通に開きますが、ダウンロード可能なリンクを開こうとすると、shouldoverrideに行きます...エラーが発生します。
Ehm ...これを行う方法も教えてください。私はちょうどそれを得ていないと思う。 – Cippo