android аудио мениджър в клас приемник

Не се връща обратно към режима, който потребителят е използвал. Имам предвид, когато телефонът е в безшумен режим и аз звънях за някои избрани номера, но не се връща обратно към нормален режим, когато телефонът е в неактивен режим. ето моето парче код.........

if(IncomingNumber.equals(WhitelistedNumbers)){
                                    am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

                                 System.out.println("Number Matches......!");
                                 System.out.println("WhitelistedNumber(s): "+WhitelistedNumbers);


                                }else{
                                    System.out.println("No Match(s) found.....!");

                                }

и за превключване към нормален режим, който използвам........

 case TelephonyManager.CALL_STATE_IDLE:
                 am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

                System.out.println("Set to Default Ringer Mode....!");                  
                break;

Благодаря предварително, ако имате някакви предложения за разрешаване на проблема........


person Mayank Nema    schedule 18.02.2014    source източник


Отговори (1)


Трябва да запазите предишния режим на звънене в променлива и след това да го възстановите от тази променлива.

int previousMode;
if(IncomingNumber.equals(WhitelistedNumbers))
{
    previousMode = am.getRingerMode();
    am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
    ....
}

и за възстановяване:

am.setRingerMode(previousMode);
person Merlevede    schedule 18.02.2014
comment
не работи като моя TelephonyManager.CALL_STATE_IDLE: методът се извиква, преди да премине в неактивно състояние, Означава по време, когато телефонът е в състояние на звънене, така че предишният запазен режим не работи, сякаш е безшумен, отколкото остава безшумен, след като разговорът приключи също. ....................какво да правя?????????? @Merlevede - person Mayank Nema; 18.02.2014