Dans mon application, j'appelle une interface javascript de mon activité. Dans la vue Web associée à cette interface, je demande à l'utilisateur de télécharger et d'installer un fichier APK. J'utilise un "startActivityForResult" pour démarrer le processus d'installation (après avoir téléchargé le fichier). Voici le code:Installer le programme par programme - renvoyer la valeur
Intent promptInstall = new Intent(Intent.ACTION_VIEW);
promptInstall.setDataAndType(Uri.fromFile(new File(PATH + "app.apk")), "application/vnd.android.package-archive");
startActivityForResult(promptInstall, ACCEPT_INSTALL);
J'utilise « onActivityResult » dans la classe principale d'activité pour capturer la valeur de retour de l'activité ci-dessus. Voici le code:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.d("requestCode, resultCode from Install APK: ", Integer.toString(requestCode) + ", " + Integer.toString(resultCode));
}
Le problème que je suis face est que « resultCode » retourne toujours 0, indépendamment du fait que l'utilisateur a choisi d'installer l'application ou non installer l'application. J'ai vraiment besoin de savoir si l'utilisateur a installé l'application ou non. Des idées sur la raison pour laquelle la valeur de retour est toujours 0?
Mon dernier recours serait d'utiliser packagemanager pour vérifier l'existence de l'application dans la fonction onActivityResult pour déterminer si l'application a été installée ou non, mais je voudrais savoir pourquoi la valeur de retour est toujours 0.
Merci beaucoup ...
Je suis aussi confronté au même problème et c'est ridicule – tasomaniac