2 votes

Pourquoi WhatsApp est-il soudainement incapable d'ouvrir les APK partagés par les utilisateurs ?

Depuis le 13-11-18, je partage des fichiers APK sur WhatsApp, pour tester des applications au sein d'un cercle de personnes, sans aucun problème. Mais depuis aujourd'hui, si j'essaie d'ouvrir un fichier APK, j'obtiens un toast d'erreur disant :

Il se peut que vous ne disposiez pas de l'application appropriée pour visualiser ce contenu.

Ont-ils changé leur politique et décidé de ne plus laisser les gens partager des fichiers APK sur leur plateforme ?

Je n'utilise pas de sites web tiers pour partager des APK, où la plupart des gens sont effrayés par Chrome qui leur dit que "Ce type de fichier peut endommager votre appareil".

4voto

Irfan Latif Points 16863

D'après ce que j'ai compris, c'est ainsi que les fichiers sont ouverts à partir de WhatsApp en utilisant les extensions de fichiers :

  • Le type de fichier est déterminé par l'extension ( getMimeTypeFromExtension ) et intention.action.VIEW est lancé avec le chemin d'accès au fichier dat= et le type de fichier typ= .

  • Si l'extension du fichier n'est pas connue, le fichier est traité comme suit flux d'octets type de mime.

  • Liste des applications préférées ( /data/system/users/0/package-restrictions.xml qui est construit à partir des valeurs par défaut et des fichiers sélectionnés par l'utilisateur à l'adresse /system/etc/preferred-apps/*.xml ) est vérifié pour les activités qui peuvent traiter ce type de fichier.

  • S'il n'existe qu'une seule application capable de traiter ce type de mime, c'est cette application (activité) qui est lancée. Vous pouvez voir quelle application gère quel type de mime en cliquant sur :

    dumpsys package preferred-xml

    使用する adb shell ou l'un des permission.DUMP o root est nécessaire.

  • S'il existe plusieurs applications (plus d'une activité correspondant à l'intention donnée) et qu'aucune application préférée n'est déjà définie, ResolverActivity (à partir des ressources du cadre Android) est lancé (et non pas intention.action.CHOOSER ) affichant une boîte de dialogue pour sélectionner l'application (pour Once o Always ).

  • Si le type de fichier est apk (typ=application/vnd.Android.package-archive) et que PackageInstaller est configuré pour gérer ce fichier, action.INSTALL_PACKAGE est invoqué.

  • Maintenant, si la version d'Android est Oreo ou supérieure et que WhatsApp est mis à jour, il faudrait permission.REQUEST_INSTALL_PACKAGES pour installer un paquet inconnu. Une fois l'autorisation accordée, l'application sera installée.

Vous pouvez utiliser logcat pour voir comment se déroule l'ensemble de ce processus. Utiliser adb shell ou l'un des permission.READ_LOGS o root est nécessaire. Vous pouvez partager les résultats ici pour m'aider, ainsi que d'autres, à comprendre où la chaîne se brise.

Solution de contournement :
Assurez-vous que les fichiers sont envoyés et reçus avec l'extension correcte, c'est-à-dire .apk. Si, pour une raison quelconque, WhatsApp ne peut pas traiter le fichier apk téléchargé, utilisez un gestionnaire de fichiers. Explorer pour /sdcard/WhatsApp/Media/WhatsApp Documents et installez le fichier apk.

RELATED : Alternative à "File Open" (pas de pile "DocumentsUi") pour WhatsApp ?

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X