chkeff Posté(e) 3 janvier 2011 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 !
chkeff Posté(e) 5 janvier 2011 Auteur 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
chpil Posté(e) 5 janvier 2011 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)
chkeff Posté(e) 7 janvier 2011 Auteur 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 ...
chpil Posté(e) 10 janvier 2011 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) ?
chkeff Posté(e) 11 janvier 2011 Auteur 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 !
majdus Posté(e) 12 janvier 2011 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!!
chkeff Posté(e) 12 janvier 2011 Auteur 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
majdus Posté(e) 13 janvier 2011 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.
chkeff Posté(e) 13 janvier 2011 Auteur Posté(e) 13 janvier 2011 Ha c'est bon ça fontionne ! J'étais pas loin ! Je te remercie beaucoup majdus !!!
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.