在webview中使用其他应用程序打开文件

时间:2016-05-02 12:21:52

标签: java android android-studio webview

我正在构建一个简单的应用,我在Android Studio中使用webview,在应用中搜索电影,然后下载torrent。

当我在网上下载时,它会自动将我发送到utorrent应用程序,但是当我从我的应用程序下载它时,我无法打开它。

对不起我的英语和我的知识不足。

我的java代码:

public class MainActivity extends AppCompatActivity {

WebView web;
EditText et_peli;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    web=(WebView)findViewById(R.id.web);
    et_peli=(EditText)findViewById(R.id.et_peli);
}

public void buscar0nclick(View v){
    WebSettings conf = web.getSettings();
    conf.setJavaScriptEnabled(true);

    web.loadUrl("http://www.miltorrents.com/?pTit=" + et_peli.getText().toString());
    web.setWebViewClient(new WebViewClient() {
        @Override
        public void onReceivedError(WebView view, int errorCode,
                                    String description, String failingUrl) {
            Log.d("WEB_VIEW_TEST", "error code:" + errorCode + " - " + description);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            if (url.endsWith(".torrent")) {
                Uri source = Uri.parse(url);

                DownloadManager.Request request = new DownloadManager.Request(source);

                request.setDescription("Description for the DownloadManager Bar");
                request.setTitle("YourApp");

                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
                    request.allowScanningByMediaScanner();
                    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
                }


                request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "SmartPigs.apk");

                DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
                manager.enqueue(request);
            }


            else view.loadUrl(url);
            return true;
        }
    });

}

}

1 个答案:

答案 0 :(得分:0)

为了确保我有这个权利,你想发送你的用户,一旦他们将torrent下载到torrent的应用程序来观看电影,对吗?

我会查看该torrent应用程序是否有可以搜索的广播接收器。如果是这样,你可以传递信息。如果没有,您必须寻找一种方法让您的应用程序中播放该媒体文件,或使用其中一个默认电影播放器​​。