Pour écouter app installé / mis à jour la diffusion de message dans Android
Utilisant l'application Lookout (https://play.google.com/store/apps/details?id=com.lookout), je vois à chaque fois que j'ai installer ou mettre à niveau application, il va automatiquement scanner cette application pour s'assurer qu'il n'est pas malveillant.
Suivre Affût, j'écris une application simple qui écoutent la diffusion de message à chaque fois que chaque application est installé ou mis à niveau. Autant que je sache, il y a un certain type de IntentFilter pour la diffusion de message, c'est:
- Intention.ACTION_PACKAGE_ADDED
- Intention.ACTION_PACKAGE_CHANGED
- Intention.ACTION_PACKAGE_INSTALL
J'espère Intent.ACTION_PACKAGE_ADDED
est la réponse, mais c'est faux (ACTION_PACKAGE_ADDED: UN nouveau package de l'application a été installée sur l'appareil. Les données contient le nom du package. Notez que le nouveau paquet installé à ne pas recevoir de cette émission.) alors que ACTION_PACKAGE_INSTALL
est obsolète.
Quelqu'un peut me dire une meilleure façon? Toute aide est la bienvenue.
ACTION_PACKAGE_ADDED
mal?Parce que "on Remarque que le nouveau paquet installé ne reçoit pas cette émission";
Vous n'avez pas reçu le message à vous-même si vous vient d'être installé. Ce n'est pas ce que vous voulez, je suppose.
zapi est correct -- vous ne pouvez pas utiliser
ACTION_PACKAGE_ADDED
à savoir à propos de votre propre application en cours d'installation.Autant que je sache, C'est assez difficile d'obtenir de diffusion au moment de l'installation. Mais j'ai une astuce peut-être cela va vous aider. Si vous avez d'autres récepteur de radiodiffusion qui peut fréquemment des appels dans l'application, comme l'état de la Batterie, de Téléphone d'état, wifi-etat changé, et certains plus que il ya possibilité que vous pouvez obtenir au moins l'une de la diffusion de recevoir de sorte que vous pouvez travailler à la fois.
OriginalL'auteur anticafe | 2012-04-24
Vous devez vous connecter pour publier un commentaire.
Si vous installez une application, toutes les autres applications sur l'appareil obtiendrez la
Intent
cette application est l'application nouvellement installée, mais pas Un lui-même comme il ne semble pas de toute utilisation. Maintenant, il va recevoir des émissions si d'autres applications sont par la suite installés ou modifiés.Si vous voulez savoir quand votre application a été installée ou une autre application est la dernière d'installer ou de mettre à jour de temps, vous pouvez toujours utiliser
PackageManager
:ici
app.package.name
est le nom du package de l'application que vous voulez trouver le temps d'installation. Si vous voulez l'utiliser pour votre application, passer dans le package de votre application nom.De ce que je vois dans Affût, ils ont aussi une FileSystemMonitorService pour suivre les nouvelles applications installées. C'est peut-être similaire à ce qui est dans votre réponse. En fait je pense que dans Android, il n'y a pas de message de diffusion pour garder une trace de la nouvelle application installée. Mais à l'aide de votre chemin, c'est possible.
OriginalL'auteur Akhil
Vous pouvez essayer ce récepteur et de l'autorisation.
(Mais cela semble ne fonctionner que dans /system/app)^^"
OriginalL'auteur Deyu瑜
Vous avez besoin d'avoir deux applications, l'une d'elles contrôle l'autre de l'application d'installation et mises à niveau.
OriginalL'auteur Ronnie
Android ne transmettrons pas votre une émission que vous êtes en cours d'installation, mais Google Play. Ce ne sera pas vous aider si votre application est chargé par le biais d'Amazon ou via le débogueur, mais il ne vous permet pas d'exécuter du code si votre application est installée sur Google Play: https://developers.google.com/android/reference/com/google/android/gms/tagmanager/InstallReferrerReceiver
OriginalL'auteur JohnnyLambada