0

Androidアプリ内でwebviewを使用してWebサイトを開いていますが、ダウンロードファイルのリンクをクリックしてもダウンロードが開始されません。どうやってやるの???

このサイトは音楽ダウンロード用ですが、mp3 ファイルのリンクをクリックしても何も起こりません。

コード:

public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.main);

    // Let's display the progress in the activity title bar, like the
    // browser app does.
    getWindow().requestFeature(Window.FEATURE_PROGRESS);

    WebView webview = new WebView(this);
    setContentView(webview);
    webview.getSettings().setJavaScriptEnabled(true);

    final Activity activity = this;
    webview.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress) {
            // Activities and WebViews measure progress with different scales.
            // The progress meter will automatically disappear when we reach 100%
            activity.setProgress(progress * 1000);
        }
    });

    webview.setWebViewClient(new WebViewClient() {

        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            //Users will be notified in case there's an error (i.e. no internet connection)
            Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();
        }
    });
    //This will load the webpage that we want to see
    webview.loadUrl("http://www.xtramasti.com/");



}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}
4

1 に答える 1

1

使ってみてwebview.setDownloadListener(new DownloadListener() { ... });

ソース

ドキュメントから:

レンダリング エンジンでコンテンツを処理できず、代わりにダウンロードする必要がある場合に使用するインターフェイスを登録します。これにより、現在のハンドラが置き換えられます。

DownloadListener インターフェイス onDownloadStartメソッド:

ファイルをダウンロードする必要があることをホスト アプリケーションに通知する

于 2013-08-04T11:13:46.273 に答える