9
votes

Comment installer APK automatiquement lorsque le téléchargement de fichier est terminé (hébergé sur privé)

Je suis nouveau à Android et je cherche au web des deux derniers jours pour cela. J'ai trouvé des liens suivants aussi mais je ne reçois pas comment et où implémenter ce code pour démarrer l'installation automatique du fichier APK après avoir téléchargé complètement et comment supprimer le fichier APK téléchargé après l'installation. S'il vous plaît, aidez-moi à me guider la bonne façon.

Comment installer APK Fichier Programmatiquement < / a>

Invoquant l'activité de APK dans un autre Application Android

Android Installez APK Programmatiquement

Installez APK Programmatiquement sur Android

http://www.anddev.org/viewtopic.php?p=23928

EDIT:

J'ai écrit ce code dans le fichier manifeste: xxx


2 commentaires

Ce n'est pas clair ce que vous voulez faire. Voulez-vous télécharger un APK dans votre application et l'installer? Ou voulez-vous que le téléphone détecte des apks téléchargés puis installez-les ...


Je veux que le téléphone détecte l'apkand téléchargé puis installez-les s'il vous plaît aidez-moi à voir comment le faire


5 Réponses :


11
votes

pas possible. Comme certains de ces liens signalent, rendant un APK qui s'installe automatiquement et supprime l'installateur d'origine sans autre intervention de l'utilisateur s'appelle un logiciel malveillant.

Vous pouvez écrire un programme qui téléchargera et installera des puits arbitraires si l'utilisateur lui confère Autorisations pertinentes, mais je suis encore à voir une bonne mise en œuvre ou une bonne documentation pour cela. Généralement, vous pouvez appeler le programme d'installation du système par défaut à l'aide du code comme celui-ci: xxx


5 commentaires

Bonjour Fermi, merci pour votre réponse mais je ne reçois pas où écrire ce code? Devrais-je écrire dans le fichier de l'activité de lanceur ou créer une nouvelle classe Java pour cela. Et si je crée une nouvelle classe Java alors comment dois-je appeler cette classe et où? Quelles sont les autorisations que j'ai besoin d'ajouter?


Cela me donne cette erreur, je ne sais pas pourquoi.ca quelqu'un s'il vous plaît aidez-moi.android.os.fileuriexposeception: fichier: ///storage/emulated/0/k5bbsz99d4gbbzc0h.apk exposé au-delà de l'application à travers l'intention.getData ()


Pourrait être une question de version: jetez un coup d'œil à certaines des options de Stackoverflow.com/Questions/38200282/...


Remplacer l'intention.action_view avec cette intention.action_install_package


En tant que développeur, il est vraiment gênant de cliquer sur Autoriser l'installation d'installation à chaque fois lorsque je dois mettre à jour l'installation d'une application développée.



3
votes
Intent intent = new Intent(Intent.ACTION_VIEW);
File file = new File("/mnt/sdcard/myapkfile.apk");
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
startActivity(intent);
The above code will install the myapkfile.apk. You just need to put this code in the onCreate() of the Activity.

1 commentaires

Supposons que j'ai téléchargé une application (que je bâche). Et je veux automatiquement qu'il l'installe avec une autorisation accordée. Donc, l'extrait ci-dessus à mettre dans quelle activité oncreate? Dans l'application Toute activité, je veux dire la maadactivité?



4
votes

Avez-vous essayé d'ajouter la permission ci-dessous?

<uses-permission
    android:name="android.permission.INSTALL_PACKAGES" />


2 commentaires

Il est indiqué que la permission serait accordée aux applications système !!?


Cela signifie que cela ne peut plus être utilisé pour les applications non système.



1
votes

En réalité, cela est possible, utilisez BroadCastraCeiver pour écouter lorsque le paquet est ajouté (package_added) dans le système. Créez une classe BroadCastraCeiver, faites le code suivant:

public void onReceive(Context arg0, Intent arg1) {
    File downLoadApk = new File(Environment.getExternalStorageDirectory(),"New.apk");
        if (downLoadApk.exists()) {
            downLoadApk.delete();
        }

}


0 commentaires

0
votes

Après le téléchargement, donnez le chemin du fichier APK et il s'installera automatiquement dans Android

Intention Intention1 = Nouvelle intention (intention.acte_install_package); inent1.adddflags (intention.flag_grant_read_uri_permission); inent1.setdataandtype (uri.fromfile (nouveau fichier (environnement.getexternalstoragedireectory () + "/ téléchargement /" + fichier de fichier)), "application / vnd.android.package-archive"); intention1.setflags (intention.flag_activity_new_task);


0 commentaires