1

特定の時間に通知を開始するアプリがあります。ユーザーは通知の着信音を選択できます。携帯電話をミュートモードにして画面がオフになっていると、通知は振動しませんでしたが、画面がオンになっていると振動しました電話がかかってきても、電話モードをサウンドに変更して電話をかけたときに、電話をかけているのに通知が鳴らず、振動しました。これを修正するにはどうすればよいですか? 私が言いたいのは、これは普通のことなので、電話の状態を確認する必要があると思います。電話が鳴っている場合は、通知のバイブレーションをオフに変更する必要があると思います...これは私の最初のアプリであり、知る必要があるためです迷惑をかけないように通知するにはどうすればいいですか...ありがとう。

4

1 に答える 1

0

私がやったこと:

                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);
        }
于 2013-12-29T05:31:30.010 に答える