Android comment créer URL Personnalisée avec le format donné myapp://http://
J'ai fait des recherches à travers la plupart de l'URL personnalisée régime de Q&A et je n'ai pas trouvé ma réponse possible.
Je veux que mon application pour être lancé en cliquant sur une URL dans le navigateur (tout sur l'appareil mobile) , le truc c'est que mon URL ne peut pas être modifié car il s'agit de l'application IOS et il ressemble à ceci:
"myapp://http://www.name.com/path/path2/"
Je ne suis pas sûr de la façon de gérer "myapp://http://" et construire un bon filtre d'intention , et tout ce que j'ai essayé ne fonctionne pas.
Toute aide sera appréciée , et si j'ai raté une réponse pertinente veuillez sauf mes excuses.
C'est ce que j'ai essayé jusqu'à présent :
<activity
android:name="com.myapp.test.SplashScreen"
android:exported="true"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- Test for URL scheme -->
<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="www.name.com"
android:path="/path/path2/"
android:scheme="http" />
<data
android:host="www.name.com"
android:path="/path/path2/"
android:scheme="https" />
<data android:scheme="myapp" />
</intent-filter>
<!-- End Test for URL scheme -->
</activity>
Remarque: j'ai essayé avec/sans exportés:vrai
Uri
structure, je doute fortement que cela va fonctionner. Ce sera plus simple pour vous de changer votre application iOS à utiliser quelque chose qui est une URI valide.Hey, merci pour le commentaire. Ce type d'URI fonctionne sur l'application IOS , ils parviennent à ouvrir l'application en cliquant sur ce lien.Pensez-vous qu'il ne pouvait être qu'un concept comme celui de "myapp://" OU "http://" ?
"Pensez-vous qu'il ne pouvait être qu'un concept comme celui de "myapp://" OU "http://" ?" -- oui. Au mieux, si vous avez de la chance,
http://
serait considéré comme l'hôte. Au pire, votre Uri
sera tout simplement ne parviennent pas à analyser. Et je ne peux penser à quelques autres options. Il n'y a absolument n'est qu'un schéma dans un Uri
-- le Uri
classe ne permet pas pour plus d'un.Ma lecture de la RFC 2396, c'est qu'il a défini une opaque schéma d'URI, et le fait que le régime spécifique de la partie ressemble à un URI est pas de l'URI de l'analyseur. (Aussi, c'est un peu désinvolte et peu utile de suggérer "il suffit de changer votre application iOS", il est probable qu'il a du code dans la nature dont il a besoin pour maintenir la compatibilité avec.)
OriginalL'auteur EviatarS | 2013-08-07
Vous devez vous connecter pour publier un commentaire.
Comme CommonsWare dit l'URI indiqué sur j'avais besoin de créer un Régime n'est pas une URI valide donc le système ne fonctionne pas et l'application ne se lance pas. Après cette explication du côté serveur les gars étaient convaincus de modifier l'URI de myapp://... et cela a fonctionné comme par magie :).
L'Activité ressemble à ceci maintenant :
hey , comment est-ce que votre régime de look ? peut-être que je peux aider si vous le poster ici
merci, je l'ai eu à travailler parce que je n'ai pas cherché le plein format "myapp://mondomaine.com/" et a également constaté que ce n'est pas tous les lecteur de QR applications ou de l'internet mobile les navigateurs ne le DeepLinking...
myapp:// naviguer à l'application dans le navigateur par défaut. mais dans google chrome, il n'est pas l'ouverture de l'application.
où est-chrome aller au lieu de l'ouverture de l'application ?
OriginalL'auteur EviatarS
C'est une mauvaise utilisation du schéma d'URI et n'est pas valide. L'URL que vous souhaitez passer, c'est un morceau de données et doit donc être envoyé dans la chaîne de requête.
given URL cannot be modified as it serves IOS app as well
Il a d'ores et déjà modifié.
OriginalL'auteur Monstieur
vous avez besoin d'utiliser un lien hypertexte pour démarrer l'application . par exemple ,vous définissez scheme="yourpackagename" ,vous devez définir un lien hypertexte comme ceci: yourpackagename://hôte ,et vous devriez voir le lien hypertexte sur vous moble navigateur .Si vous n'avez pas l'hôte d'étiquette,il suffit de retirer.
Si votre activité a plus d'un régime, vous devez utiliser 2 ou plus à préciser qu'il
android:host=""
produit un message d'erreur: "android:l'hôte ne peut pas être vide"merci pour votre commentaire,en studio juste supprimer ce code // android:host="" si vous n'avez pas besoin "d'accueil "
OriginalL'auteur Yachao