Android如何通过网络浏览器强制下载文件

时间:2016-03-15 16:42:39

标签: android android-intent

我在我的应用中使用此代码通过网络浏览器下载视频文件(用户选择的每个视频文件:chrome,dolphin或...)

   View BtnDownload = (View)rootView.findViewById(R.id.BtnDownload);
   BtnDownload.setOnClickListener(new View.OnClickListener() {
       public void onClick(View v) {
           Intent intent = new Intent();
           intent.setAction(Intent.ACTION_VIEW);
           intent.addCategory(Intent.CATEGORY_BROWSABLE);
           intent.setData(url);
           startActivity(intent);
       }
   });

它在我的手机上运行良好(浏览器提示下载),但是当我在另一部手机上测试时,它会通过自动选择的浏览器播放(显示)视频。

现在,我的问题:

  • 如何通过网络浏览器强制下载文件而不是查看文件
  • 我想要Intent.ACTION_Download之类的其他操作,而不是Intent.ACTION_VIEW
  • 我希望阻止使用复杂的方法,例如通过下载程序类下载文件。是否可以通过技巧实现这一目标?

修改

按下按钮会发生什么:

例如在我的手机上,当我按下按钮时打开海豚浏览器,海豚提示我下载视频文件,但在另一部手机上按下按钮时打开浏览器然后去播放视频。

1 个答案:

答案 0 :(得分:1)

  

如何通过网络浏览器强制下载文件而不是查看文件?

不要求任何浏览器根据ACTION_VIEW Intent下载文件。 Android有很多浏览器,都是由用户预先安装和安装的。

  

我想要另一个操作,比如Intent.ACTION_Download而不是Intent.ACTION_VIEW。

不要求任何浏览器提供强制下载文件的任何特定操作。