chkeff Posté(e) 3 janvier 2011 Share Posté(e) 3 janvier 2011 Bonjour tout le monde ! Voila tout est dans le titre ! J'aimerai faire une action en fonction de l'état du telephone, a savoir si il est en mode vibreur ou pas. J'ai trouvé ce code sur internet mais quelque soit l'état du tel ça me retourne toujours "4": String systemInfo = Settings.System.VIBRATE_ON; String info = Settings.System.getString(getContentResolver(), systemInfo); if(info!=null){ Log.i("ROOTGAME", info); } Est-ce que quelqu'un pourrait m'aider ? Merci d'avance ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
chkeff Posté(e) 5 janvier 2011 Auteur Share Posté(e) 5 janvier 2011 je me permet de faire un petit up, j ai vraiment besoin de ça pour une appli! Message envoyé avec l'application Forum FrAndroid Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 5 janvier 2011 Share Posté(e) 5 janvier 2011 Quelque chose de ce genre serait sans doute plus approprié AudioManager audioManager = (AudioManager)monContext.getSystemService(Context.AUDIO_SERVICE); int val = audioManager.getVibrateSetting( AudioManager.VIBRATE_TYPE_RINGER ); // ou VIBRATE_TYPE_NOTIFICATION cf la doc (Vérifier aussi qu'il n'y a pas besoin de permission nécessaire pour accéder à ces settings) Lien vers le commentaire Partager sur d’autres sites More sharing options...
chkeff Posté(e) 7 janvier 2011 Auteur Share Posté(e) 7 janvier 2011 J'ai utiliser le code et pour tester la valeur j'ai fait ceci: if(val == AudioManager.VIBRATE_SETTING_ON) Mais que je soit en vibreur ou non la condition est toujours vraie ! Edit: j'ai aussi essayer avec if(val == AudioManager.RINGER_MODE_VIBRATE){ Même résultat ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
chkeff Posté(e) 10 janvier 2011 Auteur Share Posté(e) 10 janvier 2011 Personne ne peut m'aider ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 10 janvier 2011 Share Posté(e) 10 janvier 2011 As-tu regardé du côté des permissions à ajouter dans le androidManifest.xml ? Peut-être que la permission READ_PHONE_STATE est nécessaire pour connaitre l'état du vibreur (c'est celle qui me semble la plus logique, mais je n'en suis pas certain) ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
chkeff Posté(e) 11 janvier 2011 Auteur Share Posté(e) 11 janvier 2011 Je l'ai rajouté par acquis de conscience mais ça n'as rien changé. J'arrive à récupérer la valeur, le problème c'est que je ne sait pas à quoi je dois la comparer ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
majdus Posté(e) 12 janvier 2011 Share Posté(e) 12 janvier 2011 à tu essayer de juste afficher l'état que tu récupère?? déjà pour voir si ça change vraiment!! Lien vers le commentaire Partager sur d’autres sites More sharing options...
chkeff Posté(e) 12 janvier 2011 Auteur Share Posté(e) 12 janvier 2011 je viens d essayer et en effet cette valeur est toujours a 1. ce n est donc pas la bonne manip! je repart a zero lol Message envoyé avec l'application Forum FrAndroid Lien vers le commentaire Partager sur d’autres sites More sharing options...
majdus Posté(e) 13 janvier 2011 Share Posté(e) 13 janvier 2011 essaye d'utiliser getRingerMode à la place de getVibrateSetting public int getRingerMode ()Since: API Level 1 Returns the current ringtone mode. Returns The current ringtone mode, one of RINGER_MODE_NORMAL, RINGER_MODE_SILENT, or RINGER_MODE_VIBRATE. Lien vers le commentaire Partager sur d’autres sites More sharing options...
chkeff Posté(e) 13 janvier 2011 Auteur Share Posté(e) 13 janvier 2011 Ha c'est bon ça fontionne ! J'étais pas loin ! Je te remercie beaucoup majdus !!! Lien vers le commentaire Partager sur d’autres sites More sharing options...
majdus Posté(e) 13 janvier 2011 Share Posté(e) 13 janvier 2011 de rien chkeff heureux de t'avoir aidé :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.