Je sais que cela peut être une question stupide et j'ai déjà renvoyé toutes les questions similaires, mais malheureusement, j'ai pu résoudre ce problème. Il s'agit très probablement d'un problème dans mon fichier Manifest.xml.
Lorsque j'essaie d'accéder à l'emplacement, l'application se bloque
voici mon manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.test.tt.test" >
<application
Android:allowBackup="true"
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name"
Android:theme="@style/AppTheme" >
<activity
Android:name=".sTest"
Android:label="@string/app_name" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service Android:name="com.test.tt.test.sService">
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter> </service>
<service Android:name="com.test.tt.test.sServiceRequest" />
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION" />
<uses-permission Android:name="Android.permission.ACCESS_COARSE_UPDATES" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
<uses-permission Android:name="Android.permission.ACCESS_WIFI_STATE" />
</application>
quand je le lance jette cette erreur
Java.lang.SecurityException: Neither user 11029 nor current process has Android.permission.ACCESS_COARSE_LOCATION.
Similaire avec d'autres autorisations. Je ne vois aucune erreur dans mon fichier manifeste. Aide appréciée
Cela signifie que vous avez des informations erronées ou des informations mal formées dans votre fichier de manifeste et c'est la raison pour laquelle aucune de vos autorisations n'est identifiée par votre application. Assurez-vous simplement que vous avez nettoyé le fichier ANDROIDMANIFEST avec des données mal formées.
Cela fonctionnera et toutes les autorisations doivent être en dehors de la balise Application
Si vous utilisez un appareil sur Android Marshmallow et supérieur:
Si l'appareil fonctionne Android 6.0 ou supérieur et si le SDK cible de l'application est 23 ou supérieur, l'application doit non seulement répertorier les autorisations dans le manifeste, mais doit également demander chaque autorisation dangereuse dont elle a besoin pendant que l'application est en cours d'exécution.
Plus d'informations:
http://developer.Android.com/training/permissions/requesting.html
et
http://developer.Android.com/guide/topics/security/permissions.html#normal-dangerous
déplacer l'application en dehors des autorisations d'utilisation juste en dessous de la balise manifest
La section des autorisations de déplacement a résolu mon problème avec "Ni l'utilisateur ni le processus actuel n'ont Android.permission.READ_PHONE_STATE". Merci beaucoup à tout le monde dans ce forum. En référence à d'autres, mes changements sont ci-dessous:
Original:
<uses-permission Android:name="Android.permission.NFC" />
<uses-permission Android:name="Android.permission.READ_PHONE_STATE" />
<uses-feature
Android:name="Android.hardware.nfc"
Android:required="true" />
<activity Android:name=".NfcRead"></activity>
</application>
Modifier:
<uses-permission Android:name="Android.permission.NFC" />
<uses-feature
Android:name="Android.hardware.nfc"
Android:required="true" />
<activity Android:name=".NfcRead"></activity>
</application>
<uses-permission Android:name="Android.permission.READ_PHONE_STATE" />
Cette exception est liée au système d'autorisation d'exécution dans Android 6 et supérieur. L'autorisation de localisation est soumise à une autorisation dangereuse [ cochez ici ], vous devez donc avoir à remplir ci-dessous 2 exigences minimales pour gérer ces autorisations:
Déclaration inférieure à 2 autorisations dans le manifeste (ces autorisations doivent être en dehors de la balise d'application)
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION " />
Vérifiez l'autorisation accordée au moment de l'exécution à l'aide de checkSelfPermission () et demandez des autorisations à l'aide de requestPermissions () s'il n'est pas déjà accordé.
Si vous avez déjà fait les deux ci-dessus et que vous obtenez toujours une erreur, vérifiez ci-dessous:
J'espère que cela peut vous aider :-)