【问题标题】:apk installation from web page从网页安装apk
【发布时间】:2011-01-20 16:05:49
【问题描述】:

我正在寻找一个带有链接的示例网页(html 代码),该链接将通过单击链接直接在我的手机上安装 apk 文件。

【问题讨论】:

    标签: android installation apk


    【解决方案1】:

    对 IIS 网络服务器的额外帮助:在我将 apk mime 类型添加到我的 IIS 网络服务器后,mbaird 的示例对我非常有用。我只是用该链接放置了一个 html 文件,但是在尝试提取没有 .apk mime 条目的 test.apk 文件时出现 404 错误。正如 Commonsware 所说,确保在 mime 类型中允许 .apk 文件 - 这在 IIS 网络服务器上肯定仍然是必需的。您可以从 IIS 管理器执行此操作,选择服务器,然后找到“Mime 类型”,然后添加一个条目。

    【讨论】:

      【解决方案2】:

      如果您使用的是 ASP.NET,则需要在 web.config 文件中插入以下内容:

      <configuration>
        ...
      
         <system.webServer>
            <staticContent>
               <mimeMap fileExtension=".apk"
                        mimeType="application/vnd.android.package-archive" />
            </staticContent>
         </system.webServer>
      
        ...
      </configuration>
      

      除此之外(正如其他人所说),您只需要一个普通链接:

      <a href="myAndroidApp.apk">Click here</a>
      

      并告诉您的用户启用“设置”中的“安全”->“未知来源”选项。

      【讨论】:

      • 拯救了我的一天!谢谢。
      【解决方案3】:

      在 .Net 中,这就是我所做的,我创建了一个 .asmx 页面,然后是一个指向它的二维码 否则我一直收到 404,然后在页面加载时出现此问题。

      protected void Page_Load(object sender, EventArgs e){
          ViewState["PreviousPage"] = Request.UrlReferrer;
          string filepath = Server.MapPath("AcsMainMenu.apk");
          FileInfo droidfile = new FileInfo(filepath);
      
          if (droidfile.Exists)
          {
              Response.ClearContent();
              Response.AddHeader("Content-Disposition", "attachment; filename=" + droidfile.Name);
              Response.AddHeader("Content-Length", droidfile.Length.ToString());
              Response.ContentType = "application/vnd.android.package-archive";
              Response.TransmitFile(droidfile.FullName);
              Response.Flush();
              Response.End();
              Response.Redirect(ViewState["PreviousPage"].ToString());
          }
      }
      

      【讨论】:

      • 但这不是因为您没有将 .apk mime 类型添加到 IIS 中吗?
      • 编辑 web.config 文件比这容易得多 - 请参阅下面的答案。
      • @FredrikStolpe 很有可能。如果没有在任何地方(IIS 或站点或应用程序)定义 mime 类型,IIS 将 404。
      【解决方案4】:

      只需链接到 HTML 中的 apk 文件。再简单不过了。

      <a href="path to my .apk file">link</a>
      

      您必须在手机上启用“安装未知来源的应用程序”。

      【讨论】:

      • 但是,安装可能不会立即开始;用户可能需要手动点击浏览器下载列表中的 APK。然后他们需要点击“安装”按钮来批准您的应用请求的权限。简短的回答是单击一下是不可能的。如果用户没有启用“未知来源”选项(默认情况下禁用),他们会收到一条警告消息并且安装不会发生。
      • 而且,Web 服务器应该设置了 APK MIME 类型:application/vnd.android.package-archive
      • @CommonsWare:这不再是必需的。我的服务器没有设置这种 MIME 类型,*.apk 文件正在下载,无论是在移动浏览器还是桌面浏览器上都没有任何问题。
      • @trejder:这种行为可能因操作系统级别甚至设备而异。
      • @CommonsWare:是的,你是对的。我在纯 Google (Nexus) 设备上对最新的 Android (4.2.1) 进行了测试,所以我假设,如果这在没有 MIME(在服务器端)的情况下适用于“纯”集,那么它应该适用于其他所有设备。但是,你是对的,我不应该一概而论。谢谢。
      猜你喜欢
      • 1970-01-01
      • 2011-08-22
      • 2017-12-30
      • 2021-11-09
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      • 1970-01-01
      • 2012-05-30
      相关资源
      最近更新 更多