web-dev-qa-db-fra.com

installation d'apk à partir d'une page Web

Je cherche un exemple de page web (code html) avec un lien qui va installer un fichier apk directement sur mon téléphone en cliquant sur le lien.

35
Arutha

Il suffit de créer un lien vers le fichier apk au format HTML. Cela ne pourrait pas être plus simple.

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

Vous devrez activer "installer des applications de sources inconnues" sur votre téléphone.

29
Mark B

Si vous utilisez ASP.NET, vous devrez insérer les éléments suivants dans votre fichier web.config:

<configuration>
  ...

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

  ...
</configuration>

En dehors de cela (comme d'autres l'ont dit), vous avez juste besoin d'un lien normal:

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

et dites à vos utilisateurs d'activer l'option Sécurité -> Sources inconnues dans Paramètres.

21
Richard C

Aide supplémentaire pour IIS webservers: l'exemple de mbaird a très bien fonctionné pour moi après avoir ajouté le type apk mime à mon IIS webserver. Je viens de mettre un fichier html avec ce lien, mais a obtenu une erreur 404 lorsque j'essaye de récupérer mon fichier test.apk sans l'entrée .apk mime. Comme Commonsware l'a dit, assurez-vous d'autoriser les fichiers .apk dans les types mime - c'est certainement toujours nécessaire sur un = IIS webserver. Vous pouvez le faire depuis IIS Manager, sélectionnez le serveur, recherchez "Types MIME", puis ajoutez une entrée). Example of adding a Mime entry for the apk file in IIS

4
Greg

Dans .Net, c'est ce que j'ai fait, j'ai créé un .asmx page puis un code QR qui le désignait autrement, je continuais à obtenir un 404, puis ceci au chargement de la page.

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());
    }
}
2
dean