Eh bien, j'ai créé une application pour stocker des valeurs sur une base de données distante. Ça marche!! Je n'ai pas utilisé d'émulateur pour les tests à la place, j'ai utilisé mon propre téléphone. Maintenant, le problème est que sur mon téléphone, cela fonctionne parfaitement ... pas de problème mais lorsque je l'ai installé sur un autre téléphone, l'application ne se connecte pas à Internet. J'ai inclus l'autorisation Internet dans android manifest.xml.
J'ai essayé ceux-ci mais je n'ai pas fonctionné:
* J'ai ajouté des messages d'erreur pour les blocs try ... catch sous forme de toasts pour que l'utilisateur sache quel est le problème. et l'exception de capture pour aucun problème de connexion de retour Internet. Je reçois ce message d'erreur.
Au cours de mes recherches, j'ai appris que l'autorisation Internet est catégorisée comme une autorisation normale qui n'est pas demandée à l'utilisateur lors de l'installation.
J'ai créé une deuxième application factice: même problème avec elle ... compilée directement sur le nouveau téléphone mais n'a pas fonctionné ... elle fonctionne sur l'ancien téléphone ...
Ancien téléphone: Samsung J7 Prime avec Android 8.1 Nouveau téléphone: Samsung J7 Pro avec Android 9
Toute idée ou suggestion vous sera volontiers utile ... Merci!
4 Réponses :
<uses-permission android:name="android.permission.INTERNET" />
J'ai déjà inclus cela dans mon manifeste Android ... vous n'avez pas compris la question je suppose ... l'application fonctionne dans un téléphone ... mais la même chose ne fonctionne pas dans un autre
Avez-vous vérifié si l'autorisation est fournie pour l'application? Vérifiez-le dans la section Applications des paramètres de votre appareil.
@CharanM oui dans toutes les permissions: c'est écrit un accès complet au réseau
Utilisez un fichier APK de débogage au lieu d'un fichier APK signé
lorsque vous compilez un projet au début, vous obtenez l'apk de débogage ... donc il est évident qu'il a été essayé. Relisez-le, l'application fonctionne sur mon ancien téléphone mais pas sur le nouveau ... sans aucune modification
sous Android 9 et supérieur, vous devez définir la configuration de sécurité du réseau
tout d'abord dans le package res, créez un package xml et dans le package xml, créez un nouveau fichier de ressources xml avec le nom network_security_config
android:networkSecurityConfig="@xml/network_security_config"
puis dans le manifeste dans
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <base-config cleartextTrafficPermitted="true" /> </network-security-config>
Merci!! Cela a résolu mon problème ... pouvez-vous expliquer pourquoi nous avons utilisé cette configuration?
developer.android.com/training/articles/security-config cela peut aider tu
veuillez ajouter la permission sur le manifeste pour donner une permission de permission.INTERNET
je pense que je t'aide
Veuillez relire le message: j'ai déjà inclus l'autorisation:
Veuillez publier les autorisations que vous déclarez dans le manifeste.
Certaines bases de données distantes ont un accès de débogage et de libération aux données, vérifiez cela également.
Vous pouvez vérifier si c'est votre problème. stackoverflow.com/ questions / 55074899 /…
@SABANTO ça ne peut pas être un problème de connexion !! parce que la même application fonctionne sur mon ancien téléphone ... je reçois des problèmes uniquement avec mon nouveau téléphone
@ littlebear333 merci ... je vais essayer avec https et je mettrai à jour si cela fonctionne
@Varun, la seule autorisation que j'ai déclarée est:
@ littlebear333 le https qui était dans l'autre fil ne fonctionnait pas non plus