Remplacer l'intention explicite Android
-
05-07-2019 - |
Question
Mon application doit disposer d'un filtre d'intention
qui répond à un Intention
dont le composant est défini (une intention explicite). Voici un exemple.
Intent i = new Intent();
i.setClassName("com.compareeverywhere","com.compareeverywhere.ScanActivity");
startActivity(i);
Un simple filtre d'intention
ne suffira pas, car Intention
est créé pour un composant spécifique ( Activité
,) qu'il lance simplement. cela sans chercher les intentions du tout. Y a-t-il un moyen de faire cela?
Merci, Isaac Waller
P.S: Merci de ne pas répondre "Non"
La solution
Non.
:) Cela étant dit, imaginez ce qui se passerait si Android autorisait les gens à détourner Intents de composants spécifiques. Vous n'aimez pas l'application d'un concurrent? Demandez à votre pirate de détourner son activité principale avec la vôtre pour afficher du porno. Les intentions peuvent spécifier des composants spécifiques, car les auteurs ne veulent pas que d’autres puissent les remplacer.
Vous avez deux options. S'il s'agit de votre propre code, remplacez-le par une intention générique, ou s'il appartient à une autre personne, contactez-la et demandez-lui gentiment de la remplacer par une intention générique avec les bonnes raisons pour lesquelles cela est nécessaire.