J'ai une suite d'applications qui définissent chacune des schémas d'URL différents. J'ai une application d'aide qui lance mes différentes applications avec diverses configurations. En ce moment j'essaye de tester la fonctionnalité de schéma d'URL récemment ajoutée. Donc, étant donné une application connue sur le périphérique local (par exemple j'ai le nom du paquet, j'ai la liste [ResolveInfo], j'ai le PackageInfo, etc ...) est-il possible pour moi d'extraire les schémas d'url qu'il supporte? Prenant facebook comme exemple, si j'ai le nom de paquet "com.facebook.katana" est-il possible pour moi d'obtenir de l'OS Android, que le schéma d'url "fb: //" est supporté par cette application ?Obtenir les schémas d'URL disponibles gérés par une application Android donnée
En note, oui, je peux créer un mappage local entre mes noms de paquets connus et mes schémas d'url, mais je voulais voir si une approche programmatique était possible.
Ajout de la définition d'un de mes activités d'application avec un schéma d'URL défini sur elle:
<activity
android:name="com.mycompany.activity.HandleURIActivity"
android:exported="true">
<!-- URL Scheme -->
<intent-filter>
<data android:scheme="@string/app_url_scheme" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
strings.xml
<string name="app_url_scheme">ac-dc</string>
L'activité avec l'intention avec le schéma défini n'apparaît pas dans la liste de ResolveInfo. Mes autres activités avec d'autres types de filtres d'intention apparaissent. – FishStix
ajouter android: exported = "true" sur cette activité, voir https://developer.android.com/guide/topics/manifest/activity-element.html#exported – marmor
exported = "true" ne semble pas fonctionner. J'ai ajouté ma définition d'activité à partir du manifeste de l'application que j'essaie de voir à l'intérieur de – FishStix