2017-08-25 3 views
1

Je souhaite que le rappel d'une authentification oauth2 soit redirigé vers mon application. Je connais le filtre d'intention de chrome, mais il faut que l'utilisateur demande manuellement à l'application d'ouvrir. Je lis sur internet ce n'est pas possible de le faire automatiquement mais des applications comme Instagram ou même l'application IO de Google ont la possibilité d'être ouvertes depuis le navigateur (voici quelques exemples https://instagram.com/_u/instagram et https://events.google.com/io/schedule). J'ai aussi essayé des filtres d'intention (dans le manifeste) mais ils ne fonctionnent pas non plus. Je n'ai pas besoin que l'application soit déclenchée par l'URL de rappel dans le fichier, si nécessaire, je pourrais utiliser un backend. Comment puis-je y parvenir?Rediriger l'URL vers l'application android

+0

cette même chose dont j'ai besoin dans mon app callback de stripe oauth. –

Répondre

0

J'ai finalement trouvé où le problème était. J'ai essayé de rediriger vers mon application en utilisant javascript mais Chrome a bloqué ma demande, j'ai donc essayé de le faire dans les en-têtes et ça a bien fonctionné!

0

Ce dont vous avez besoin Connexion en profondeur. Pour ouvrir votre application sur le lien cliquez sur vous devez ajouter l'intention filer "android.intent.action.VIEW" dans le manifeste.

<intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <data 
       android:host="example.com" 
       android:pathPrefix="/api/v1/view" 
       android:scheme="http" /> 
     </intent-filter> 

Une fois que vous construisez un lien avec la même signature que mentionné dans le manifeste du système Android ajoutera votre application à chooser pour ouvrir le lien dans votre application et vous obtiendrez les données « getIntent(). GetData() » dans l'activité respective.

Si l'application n'est pas installée, le lien s'ouvrira dans le navigateur. Ensuite, manipulez-le sur le navigateur. Pour envoyer l'intention du navigateur, vous devez suivre le même schéma que le manifeste.

"intent://example.com/api/v1/view#Intent;scheme=http;package=com.app;category=android.intent.category.BROWSABLE;component=com.app.yourActivityname;action=android.intent.action.VIEW;end 
+0

J'ai déjà essayé les deux solutions. Le premier ne fonctionne pas et le second nécessite que l'utilisateur demande à l'application d'ouvrir –