Handy in Vibration oder Silentmod > App spielt trotzdem den Mediaplayer ab

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Handy in Vibration oder Silentmod > App spielt trotzdem den Mediaplayer ab

    Servus Leute,

    Es wäre nett wenn mir jemand sagen könnte was ich hier falsch mache, nach meinen erachten gar nichts - aber nun mal doch, da meine App trotzdem den Media Player abspielt obwohl das Handy im Vibrations-Modus ist. Es wäre toll wenn mal jemand einen Blick rauf werfen könnte und mir sagen könnte was ich falsch gemacht haben soll..

    Quellcode

    1. if(istBeepErlaubt == true) {
    2. AudioManager am = (AudioManager) getSystemService(AUDIO_SERVICE);
    3. if (am.getRingerMode() == am.RINGER_MODE_VIBRATE){
    4. //soll nichts machen wenn Vibrator an ist..
    5. }else{
    6. if (am.getRingerMode() == am.RINGER_MODE_NORMAL){
    7. final MediaPlayer mp = MediaPlayer.create(this, R.raw.beep);
    8. mp.setVolume(100, 100);
    9. mp.prepare();
    10. mp.start();
    11. }
    12. }
    Alles anzeigen

    Danke Leute!
  • Hallo ändere die Zeile 5

    if (am.getRingerMode() == am.RINGER_MODE_VIBRATE){
    in
    if (am.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE) {

    Du willst ja einen vergleich mit einer Kostanten machen.
    dein if ist immer false somit wird der else zweig ausgeführt.

    die Zeile 11 must du auch änderen
    Ein Feedback auf Tipps ist auch schön. :P
  • Danke für deine Antwort. Das habe ich auch schon so probiert, aber ohne Erfolg. Oder habe ich etwas falsch verstanden?

    Quellcode

    1. if(istBeepErlaubt == true) {
    2. AudioManager am = (AudioManager) getSystemService(AUDIO_SERVICE);
    3. if (am.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE) {
    4. } else {
    5. if (am.getRingerMode() == AudioManager.RINGER_MODE_NORMAL) {
    6. final MediaPlayer mp = MediaPlayer.create(this, R.raw.beep);
    7. mp.setVolume(100, 100);
    8. mp.prepare();
    9. mp.start();
    10. }
    11. }
    Alles anzeigen

    jogimuc schrieb:

    Hallo ändere die Zeile 5

    if (am.getRingerMode() == am.RINGER_MODE_VIBRATE){
    in
    if (am.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE) {

    Du willst ja einen vergleich mit einer Kostanten machen.
    dein if ist immer false somit wird der else zweig ausgeführt.

    die Zeile 11 must du auch änderen
  • hi, versuche mal das .
    Frage aus welcher Methode, Thread, Callback ... heraus willst du das aufrufen? Hast du auch den richtigen Context?
    Werden den auch die systemeinstellungen zurückgegeben teste mit debugger.


    Quellcode

    1. AudioManager mode = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
    2. if(istBeepErlaubt == true) {
    3. if (mode.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE) {
    4. } else {
    5. if (mode.getRingerMode() == AudioManager.RINGER_MODE_NORMAL) {
    6. final MediaPlayer mp = MediaPlayer.create(this, R.raw.beep);
    7. mp.setVolume(100, 100);
    8. mp.prepare();
    9. mp.start();
    10. }
    11. }
    Alles anzeigen
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von jogimuc ()

  • Danke für deine Mühe. Ich Vollidiot, hatte die Funktion weiter oben nochmals Aufgerufen ohne die Checks.. mein Gott, also meine Variante funktioniert doch tadellos ( deine auch ).....
    Trotzdem vielen Dank, ich sollte auch mal Schlafen nach getaner Arbeit und nicht noch mal Versuchen irgend etwas zusammen zu Bauen ohne Gehirn... Also dass bin ich,,,, typisch!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von DerAndroidNoob ()