Android 带有文件下载uri的操作视图不工作(Chrome&x2B;三星S6)

Android 带有文件下载uri的操作视图不工作(Chrome&x2B;三星S6),android,google-chrome,android-intent,Android,Google Chrome,Android Intent,我尝试在手机上输入以下代码: public static void install(Context context) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("https://github.com/MFlisar/EverywhereLauncherExtension/raw/master/extension.apk")); context.startActivi

我尝试在手机上输入以下代码:

public static void install(Context context) {
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(Uri.parse("https://github.com/MFlisar/EverywhereLauncherExtension/raw/master/extension.apk"));
    context.startActivity(intent);
}
如果我把链接复制到chrome上,它就可以正常工作并开始下载。如果我调用
install(context)
chrome只会打开链接,但不会启动下载,而是关闭选项卡

我怎样才能解决这个问题?我希望浏览器为我下载文件,然后用户可以安装应用程序

信息

  • 我的应用程序没有internet权限,我也不希望仅为在应用程序内部下载一个文件而添加这些权限
  • 我的minSDK是API 16,我的目标SDK是API 26
解决方案-工作不可靠

  • 尝试使用主页链接而不是文件链接()。如果用户没有安装处理github链接的第三方应用程序,则此方法有效。然后浏览器打开,用户可以自己点击下载链接,它就可以工作了。如果安装了第三方应用程序,链接将在此应用程序中打开,如果用户单击下载链接,用户将看到与上述相同的行为
  • 编辑


    似乎这只发生在我自己的手机上,无法在模拟器中重现。但我上面描述的是运行安卓7的三星S6 Edge。也许有人知道为什么会在我的设备上发生这种情况?

    很抱歉,你怎么能在没有互联网连接的情况下从网上下载文件?我的应用程序没有使用互联网的权限,其他应用程序,如浏览器,当然有权限,所以我只想将下载委托给浏览器应用程序…你的api级别是什么?Min SDK=16,Target SDK=26…你可以像这样尝试Uri webpage=Uri.parse(url);意图=新意图(Intent.ACTION\u视图,网页);如果(intent.resolveActivity(getPackageManager())!=null){startActivity(intent);}很抱歉,如果没有internet连接,您如何从网络下载文件?我的应用程序没有使用internet的权限,其他应用程序,如浏览器,当然有权限,所以我只想将下载委托给浏览器应用程序…你的api级别是什么?Min SDK=16,Target SDK=26…你可以像这样尝试Uri webpage=Uri.parse(url);意图=新意图(Intent.ACTION\u视图,网页);if(intent.resolveActivity(getPackageManager())!=null){startActivity(intent);}