Regardes si tu as renseignés les permissions dans ton manifest pour android.permission.ACCESS_COARSE_LOCATION et android.permission.ACCESS_FINE_LOCATION et que tu as aussi demandé les droits explicitement dans ton code.
Regardes si tu as renseignés les permissions dans ton manifest pour android.permission.ACCESS_COARSE_LOCATION et android.permission.ACCESS_FINE_LOCATION et que tu as aussi demandé les droits explicitement dans ton code.
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
N'oubliez pas de consulter les FAQ Swift, Android
Tutoriel : Développer une application multilingue sous iOS
Pour les droits dans le Manifest c'est bon.
Cependant pour les droits je vais aller voir ton lien.
J'ai ça aussi comme erreur :
Elle paraît assez claire, mas pour moi Google Maps Android API v2 est déjà activé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 E/Google*Maps*Android*API: Authorization failure. Please see https://developers.google.com/maps/documentation/android-api/start for how to correctly set up the map. E/Google*Maps*Android*API: In the Google Developer Console (https://console.developers.google.com) Ensure that the "Google Maps Android API v2" is enabled. Ensure that the following Android Key exists: API Key: AIzaSyAQfPdJIoAbdLnH_IObskkay5VKQATM8Ac Android Application (<cert_fingerprint>;<package_name>): 45:16:9A:8E:7C:97:89:43:B0:D9:7B:29:46:39:EB:36:64:73:C3:F9;com.example.etc...
Il faut vraiment demander les permission explicitement dans ton code sinon ça ne marchera pas si tu exécutes ton application à partir d'Android 5.0 et plus.
Ensuite assure toi que la configuration dans ton google console est correcte. Si tu respectes tout ceci il n'y a pas de raison que ça ne fonctionne pas.
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
N'oubliez pas de consulter les FAQ Swift, Android
Tutoriel : Développer une application multilingue sous iOS
Oui je test dans l'activity principal, par contre je n'avais pas mis le message d'erreur quand je test depuis l'emulation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 E/DeferredLifecycleHelper: Failed to start resolution intent android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=market://details?id=com.google.android.gms&pcampaignid=gcore_10084000--com.example.etc..1 flg=0x80000 pkg=com.android.vending } at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1809) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1523) at android.app.Activity.startActivityForResult(Activity.java:4225) at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79) at android.app.Activity.startActivityForResult(Activity.java:4183) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859) at android.app.Activity.startActivity(Activity.java:4522) at android.app.Activity.startActivity(Activity.java:4490) at com.google.android.gms.dynamic.zza$5.onClick(Unknown Source) at android.view.View.performClick(View.java:5637) at android.view.View$PerformClick.run(View.java:22429) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Teste sur un vrai appareil,Google Android Map API v2 ne fonctionne pas avec l'émulateur Android.à moins de l'importer dans l'émulateur.
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
N'oubliez pas de consulter les FAQ Swift, Android
Tutoriel : Développer une application multilingue sous iOS
Je me pose la question pour cette parti là:
"MY_PERMISSIONS_REQUEST_READ_CONTACTS" Si au lieu de demander ce type de permission "READ_CONTACTS" je demande "ACCESS_COARSE_LOCATION" , qu'est-ce-que je dois mettre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_CONTACTS)) { //Cela signifie que la permission à déjà était //demandé et l'utilisateur l'a refusé //Vous pouvez aussi expliquer à l'utilisateur pourquoi //cette permission est nécessaire et la redemander } else { //Sinon demander la permission ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CONTACTS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS); }
Je bloque sur un rien du tout..
Voilà ma parti de code à moi:
et ma fonction "onRequestPermissionsResult"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 if(!runtime_permissions()); enabled_buttons(); // Assume thisActivity is the current activity int permissionCheck = ContextCompat.checkSelfPermission(LocalisationGPSActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION); // Here, thisActivity is the current activity if (ContextCompat.checkSelfPermission(LocalisationGPSActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { // Should we show an explanation? if (ActivityCompat.shouldShowRequestPermissionRationale(LocalisationGPSActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION)) { // Show an explanation to the user *asynchronously* -- don't block // this thread waiting for the user's response! After the user // sees the explanation, try again to request the permission. } else { // No explanation needed, we can request the permission. ActivityCompat.requestPermissions(LocalisationGPSActivity.this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, PERMISSION_LOCATION_REQUEST_CODE); // MY_PERMISSIONS_REQUEST_READ_CONTACTS is an // app-defined int constant. The callback method gets the // result of the request. } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if(requestCode == 100){ if( grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED){ enabled_buttons(); }else { runtime_permissions(); } } }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager