【问题标题】:Notification vibrating when screen is on even when I'm on the phone即使我在打电话,屏幕打开时通知也会振动
【发布时间】:2013-12-29 13:31:30
【问题描述】:

我有一个应用程序在某个时间启动通知,用户可以选择通知的铃声,当我将手机设置为静音模式并且屏幕关闭时,通知没有振动但屏幕是即使我有电话,它也会振动,当我将电话模式更改为有声并且有电话时,通知没有发出声音但有振动,虽然我有电话如何解决这个问题? 我的意思是:这是正常的事情吗,因为这很正常我认为我必须检查手机状态,如果它正在响铃,我必须将通知的振动更改为关闭......因为这是我的第一个应用程序并且需要知道我应该怎么做才能让通知不会造成任何麻烦... 谢谢。

【问题讨论】:

    标签: android android-notifications android-vibration


    【解决方案1】:

    我做了什么:

                    listener = new PhoneStateListener() {
                    @Override
                    public void onCallStateChanged(int state, String incomingNumber) {
                        switch (state) {
                        case TelephonyManager.CALL_STATE_IDLE:
                            stateString = "Idle";
                            break;
                        case TelephonyManager.CALL_STATE_OFFHOOK:
                            stateString = "Off Hook";                   
                            break;
                        case TelephonyManager.CALL_STATE_RINGING:
                            stateString = "Ringing";                    
                            break;
                        }
                        create_notification(notif_title,notif_body);
    
                    }
                };
                telephonyManager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
    
                AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
                switch( audio.getRingerMode() ){
                case AudioManager.RINGER_MODE_NORMAL:
                modeString="normal";
                   break;
                case AudioManager.RINGER_MODE_SILENT:
                    modeString="silent";
                   break;
                case AudioManager.RINGER_MODE_VIBRATE:
                    modeString="vibrate";
                   break;
                }
    
    
    
    if(bool_activate_vibrate==true && stateString=="Idle" && modeString!="silent"){
                Vibrator v = (Vibrator) c.getSystemService       (Context.VIBRATOR_SERVICE);                
                v.vibrate(2000);
            }
    

    【讨论】:

      猜你喜欢
      • 2011-10-21
      • 2014-10-30
      • 2023-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 2019-12-01
      • 1970-01-01
      相关资源
      最近更新 更多