android.media.AudioManager#RINGER_MODE_SILENT源码实例Demo

下面列出了android.media.AudioManager#RINGER_MODE_SILENT 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: talkback   文件: RingerModeAndScreenMonitor.java
/**
 * Appends the ringer state announcement to a {@link StringBuilder}.
 *
 * @param builder The string to append to.
 */
private void appendRingerStateAnnouncement(SpannableStringBuilder builder) {
  if (telephonyManager == null) {
    return;
  }

  final String announcement;

  switch (ringerMode) {
    case AudioManager.RINGER_MODE_SILENT:
      announcement = service.getString(R.string.value_ringer_silent);
      break;
    case AudioManager.RINGER_MODE_VIBRATE:
      announcement = service.getString(R.string.value_ringer_vibrate);
      break;
    case AudioManager.RINGER_MODE_NORMAL:
      return;
    default:
      LogUtils.e(TAG, "Unknown ringer mode: %d", ringerMode);
      return;
  }

  StringBuilderUtils.appendWithSeparator(builder, announcement);
}
 
源代码2 项目: BigApp_Discuz_Android   文件: AppUtils.java
public static boolean autoChangeAlarm(Context context) {
    try {

        AudioManager audioManager = (AudioManager) context
                .getApplicationContext().getSystemService(
                        Context.AUDIO_SERVICE);
        // audioManager.setRingerMode(RINGER_MODE_NORMAL或者RINGER_MODE_SILENT或者RINGER_MODE_VIBRATE);
        // android.media.AudioManager.RINGER_MODE_NORMAL = 2;
        if (audioManager.getRingerMode() == AudioManager.RINGER_MODE_SILENT) {
            audioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
        } else if (audioManager.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE) {
            audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
        }

        return true;
    } catch (Exception e) {
        return false;
    }
}
 
源代码3 项目: kcanotify   文件: KcaAlarmService.java
private NotificationCompat.Builder setSoundSetting(NotificationCompat.Builder builder) {
    String soundKind = getStringPreferences(getApplicationContext(), PREF_KCA_NOTI_SOUND_KIND);
    if (soundKind.equals(getString(R.string.sound_kind_value_normal)) || soundKind.equals(getString(R.string.sound_kind_value_mixed))) {
        if (mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_NORMAL) {
            if (soundKind.equals(getString(R.string.sound_kind_value_mixed))) {
                builder.setDefaults(Notification.DEFAULT_VIBRATE);
            }
            Uri content_uri = getContentUri(getApplicationContext(),
                    Uri.parse(getStringPreferences(getApplicationContext(), PREF_KCA_NOTI_RINGTONE)));
            builder.setSound(content_uri);
        } else if (mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE) {
            builder.setDefaults(Notification.DEFAULT_VIBRATE);
        } else {
            builder.setDefaults(0);
        }
    }
    if (soundKind.equals(getString(R.string.sound_kind_value_vibrate))) {
        if (mAudioManager.getRingerMode() != AudioManager.RINGER_MODE_SILENT) {
            builder.setDefaults(Notification.DEFAULT_VIBRATE);
        } else {
            builder.setDefaults(0);
        }
    }
    if (soundKind.equals(getString(R.string.sound_kind_value_mute))) {
        builder.setDefaults(0);
    }
    return builder;
}
 
源代码4 项目: android_9.0.0_r45   文件: VibratorService.java
private boolean shouldVibrateForRingtone() {
    AudioManager audioManager = mContext.getSystemService(AudioManager.class);
    int ringerMode = audioManager.getRingerModeInternal();
    // "Also vibrate for calls" Setting in Sound
    if (Settings.System.getInt(
            mContext.getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING, 0) != 0) {
        return ringerMode != AudioManager.RINGER_MODE_SILENT;
    } else {
        return ringerMode == AudioManager.RINGER_MODE_VIBRATE;
    }
}
 
源代码5 项目: android_9.0.0_r45   文件: ZenLog.java
private static String ringerModeToString(int ringerMode) {
    switch (ringerMode) {
        case AudioManager.RINGER_MODE_SILENT: return "silent";
        case AudioManager.RINGER_MODE_VIBRATE: return "vibrate";
        case AudioManager.RINGER_MODE_NORMAL: return "normal";
        default: return "unknown";
    }
}
 
源代码6 项目: android_9.0.0_r45   文件: ZenModeHelper.java
@VisibleForTesting
protected void applyZenToRingerMode() {
    if (mAudioManager == null) return;
    // force the ringer mode into compliance
    final int ringerModeInternal = mAudioManager.getRingerModeInternal();
    int newRingerModeInternal = ringerModeInternal;
    switch (mZenMode) {
        case Global.ZEN_MODE_NO_INTERRUPTIONS:
        case Global.ZEN_MODE_ALARMS:
            if (ringerModeInternal != AudioManager.RINGER_MODE_SILENT) {
                setPreviousRingerModeSetting(ringerModeInternal);
                newRingerModeInternal = AudioManager.RINGER_MODE_SILENT;
            }
            break;
        case Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS:
            // do not apply zen to ringer, streams zen muted in AudioService
            break;
        case Global.ZEN_MODE_OFF:
            if (ringerModeInternal == AudioManager.RINGER_MODE_SILENT) {
                newRingerModeInternal = getPreviousRingerModeSetting();
                setPreviousRingerModeSetting(null);
            }
            break;
    }
    if (newRingerModeInternal != -1) {
        mAudioManager.setRingerModeInternal(newRingerModeInternal, TAG);
    }
}
 
源代码7 项目: Noyze   文件: ParanoidVolumePanel.java
protected int[] _getStreamIcons(StreamControl sc) {
    int[] icons = getStreamIcons(sc);
    if (sc.streamType == AudioManager.STREAM_NOTIFICATION ||
            sc.streamType == AudioManager.STREAM_RING) {
        switch (mRingerMode) {
            case AudioManager.RINGER_MODE_VIBRATE:
                icons[1] = getVibrateIcon();
                break;
            case AudioManager.RINGER_MODE_SILENT:
                icons[1] = getSilentIcon();
                break;
        }
    }
    return icons;
}
 
源代码8 项目: Noyze   文件: HeadsUpVolumePanel.java
@Override public void onStreamVolumeChange(int streamType, int volume, int max) {
    StreamResources resources = StreamResources.resourceForStreamType(streamType);
    LOGD(TAG, "onStreamVolumeChange(" + VolumeManager.getStreamName(streamType) +
            ", " + volume + ", " + max + ")");
    resources.setVolume(volume);
    if (!hasAlbumArt) updateIcon(resources);
    if (!hasDuration) {
        seekBar.setMax(max);
        seekBar.setProgress(volume);
    }
    LayerDrawable layer = (LayerDrawable) seekBar.getProgressDrawable();
    layer.findDrawableByLayerId(android.R.id.progress).mutate().setColorFilter(color, PorterDuff.Mode.MULTIPLY);
    seekBar.setTag(resources);
    if (!mMusicActive) {
        int descRes = resources.getDescRes();
        // Display silent/ vibrate based on the ringer setting.
        if (resources.getVolume() <= 0 &&
                (resources == StreamResources.RingerStream ||
                 resources == StreamResources.NotificationStream)) {
            if (mRingerMode == AudioManager.RINGER_MODE_VIBRATE) {
                descRes = R.string.vibrate_c;
            } else if (mRingerMode == AudioManager.RINGER_MODE_SILENT) {
                descRes = R.string.silent_c;
            }
        }
        song.setText(descRes);
        artist.setText(null);
        artist.setVisibility(View.GONE);
    }
    show();
}
 
源代码9 项目: imsdk-android   文件: RtcActivity.java
private void playAudio() {
        switch (audioManager.getRingMode()) {
            case AudioManager.RINGER_MODE_NORMAL://响铃
            case AudioManager.MODE_IN_COMMUNICATION://音频通话
                MediaUtils.playRtcSound(RtcActivity.this, R.raw.atom_rtc_video_prompt);
                if(!isCaller) {
                    audioManager.changeToEarpieceMode();
                } else {
                    audioManager.changeToSpeakerMode();
                }
//                        MediaUtils.loadRtcSound(RtcActivity.this, R.raw.atom_rtc_video_prompt);
//                        MediaUtils.playRtcTone(RtcActivity.this);
                break;
            case AudioManager.RINGER_MODE_SILENT://静音
            case AudioManager.RINGER_MODE_VIBRATE://震动
                if(!isCaller) {
                    MediaUtils.playRtcSound(RtcActivity.this, R.raw.atom_rtc_video_prompt);
                    audioManager.changeToEarpieceMode();
                } else {
                    vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
                    //按照指定的模式去震动。
//				vibrator.vibrate(1000);
                    //数组参数意义:第一个参数为等待指定时间后开始震动,震动时间为第二个参数。后边的参数依次为等待震动和震动的时间
                    //第二个参数为重复次数,-1为不重复,0为一直震动
                    vibrator.vibrate( new long[]{1000,1000},0);
                }
                break;
        }
    }
 
源代码10 项目: Noyze   文件: ParanoidVolumePanel.java
protected int[] getStreamIcons(StreamControl sc) {
    if (sc.streamType == AudioManager.STREAM_NOTIFICATION ||
        sc.streamType == AudioManager.STREAM_RING) {
        switch (mRingerMode) {
            case AudioManager.RINGER_MODE_VIBRATE:
                return new int[] { sc.iconRes, getVibrateIcon() };
            case AudioManager.RINGER_MODE_SILENT:
                return new int[] { sc.iconRes, getSilentIcon() };
        }
    }
    return new int[] { sc.iconRes, sc.iconMuteRes }; // Default icons
}
 
源代码11 项目: Easer   文件: RingerModeOperationData.java
public void parse(@NonNull String data, @NonNull PluginDataFormat format, int version) throws IllegalStorageDataException {
    switch (format) {
        default:
            if (version < C.VERSION_GRANULAR_RINGER_MODE) {
                // backward compatible
                // was IntegerOperationData, [0, 2]
                Integer level = Integer.valueOf(data);
                switch (level) {
                    case AudioManager.RINGER_MODE_SILENT:
                        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP)
                            ringerMode = RingerMode.silent;
                        else
                            ringerMode = RingerMode.dnd_none;
                        break;
                    case AudioManager.RINGER_MODE_VIBRATE:
                        ringerMode = RingerMode.vibrate;
                        break;
                    case AudioManager.RINGER_MODE_NORMAL:
                        ringerMode = RingerMode.normal;
                        break;
                    default:
                        throw new IllegalStateException("Compatibility for RingerMode shouldn't run out of cases");
                }
            } else {
                ringerMode = RingerMode.valueOf(data);
            }
    }
}
 
源代码12 项目: unity-ads-android   文件: DeviceTest.java
@Test
public void testGetRingerMode () {
	int[] expected = {AudioManager.RINGER_MODE_NORMAL, AudioManager.RINGER_MODE_SILENT, AudioManager.RINGER_MODE_VIBRATE};
	int ringerMode = Device.getRingerMode();
	boolean found = false;

	for (int value : expected) {
		if (value == ringerMode) {
			found = true;
			break;
		}
	}

	assertTrue("Should have found the received ringer mode in the expected ringerMode values", found);
}
 
源代码13 项目: Noyze   文件: iOSVolumePanel.java
@Override
public void onStreamVolumeChange(int streamType, int volume, int max) {
    // Update the icon & progress based on the volume_3 change.
    StreamResources resources = StreamResources.resourceForStreamType(streamType);
    resources.setVolume(volume);
    LOGD(TAG, "onStreamVolumeChange(" + streamType + ", " + volume + ", " + max + ")");
    int[] icons = iconForStream(resources);
    int iconRes = ((resources.getVolume() <= 0) ? icons[1] : icons[0]);
    toggleSilent((resources.getVolume() <= 0) ? View.VISIBLE : View.GONE);

    // Animate the speaker icon based on the volume level.
    if (iconRes == R.drawable.volume_3) {
        if (volume == 0 && mRingerMode == AudioManager.RINGER_MODE_SILENT) {
            iconRes = R.drawable.volume_0;
        } else if (volume <= (max / 3)) {
            iconRes = R.drawable.volume_1;
        } else if (volume <= ((2 * max) / 3)) {
            iconRes = R.drawable.volume_2;
        } else {
            iconRes = R.drawable.volume_3;
        }
    }

    icon.setImageResource(iconRes);
    volumeText.setText(resources.getDescRes());
    int largest = mVolumeManager.getLargestMax();
    seekBar.setProgress(normalizeVolume(volume, max, largest), largest);
    show();
}
 
源代码14 项目: homescreenarcade   文件: Controls.java
public void vibrateBottom() {
	if (v == null)
		return;
	if (!eventVibrationEnabled)
		return;
	if(((AudioManager)host.getSystemService(Context.AUDIO_SERVICE)).getRingerMode() == AudioManager.RINGER_MODE_SILENT)
		return;
	v.cancel();
	v.vibrate(new long[] {0, 5 + vibrationOffset, 30 + vibrationOffset, 20 + vibrationOffset}, -1);
}
 
源代码15 项目: homescreenarcade   文件: Controls.java
public void vibrateShort() {
	if (v == null)
		return;
	if (!buttonVibrationEnabled)
		return;
	if(((AudioManager)host.getSystemService(Context.AUDIO_SERVICE)).getRingerMode() == AudioManager.RINGER_MODE_SILENT)
		return;
	if((host.game.getTime() - shortVibeTime) > (host.getResources().getInteger(R.integer.shortVibeInterval) + vibrationOffset)) {
		shortVibeTime = host.game.getTime();
		v.vibrate(vibrationOffset);
	}
}
 
private static int getRingerMode(Context context, AudioManager audioManager) {
    int ringerMode = audioManager.getRingerMode();

    //PPApplication.logE("RingerModeChangeReceiver.getRingerMode", "ringerMode="+ringerMode);

    // convert to profile ringerMode
    int pRingerMode = 0;
    //if (android.os.Build.VERSION.SDK_INT >= 21) {
        int systemZenMode = ActivateProfileHelper.getSystemZenMode(context/*, -1*/);
        //PPApplication.logE("RingerModeChangeReceiver.getRingerMode", "systemZenMode=" + systemZenMode);
        if (systemZenMode == ActivateProfileHelper.ZENMODE_ALL) {
            switch (ringerMode) {
                case AudioManager.RINGER_MODE_NORMAL:
                    //if (ActivateProfileHelper.vibrationIsOn(/*context, */audioManager, false))
                    //    pRingerMode = 2;
                    //else
                        pRingerMode = 1;
                    break;
                case AudioManager.RINGER_MODE_VIBRATE:
                    pRingerMode = 3;
                    break;
                case AudioManager.RINGER_MODE_SILENT:
                    pRingerMode = 4;
                    break;
            }
        }
        else
            pRingerMode = 5;
    /*}
    else {
        switch (ringerMode) {
            case AudioManager.RINGER_MODE_NORMAL:
                if (ActivateProfileHelper.vibrationIsOn(audioManager, false))
                    pRingerMode = 2;
                else
                    pRingerMode = 1;
                break;
            case AudioManager.RINGER_MODE_VIBRATE:
                pRingerMode = 3;
                break;
            case AudioManager.RINGER_MODE_SILENT:
                pRingerMode = 4;
                break;
        }
    }*/

    //PPApplication.logE("RingerModeChangeReceiver.getRingerMode", "pRingerMode=" + pRingerMode);

    return pRingerMode;
}
 
源代码17 项目: android-chromium   文件: VibrationMessageFilter.java
@CalledByNative
private void vibrate(long milliseconds) {
    if (mAudioManager.getRingerMode() != AudioManager.RINGER_MODE_SILENT)
        mVibrator.vibrate(milliseconds);
}
 
源代码18 项目: android-chromium   文件: VibrationMessageFilter.java
@CalledByNative
private void vibrate(long milliseconds) {
    if (mAudioManager.getRingerMode() != AudioManager.RINGER_MODE_SILENT)
        mVibrator.vibrate(milliseconds);
}
 
@Override
public void onReceive(Context context, Intent intent) {
    String event = null;
    String type = null;

    switch(intent.getAction()){
        case Intent.ACTION_SCREEN_OFF:
            event = DeviceEvent.EVENT_SCREEN_OFF;
            type = DeviceEvent.TYPE_SCREEN;
            break;

        case Intent.ACTION_SCREEN_ON:
            event = DeviceEvent.EVENT_SCREEN_ON;
            type = DeviceEvent.TYPE_SCREEN;
            break;

        case Intent.ACTION_USER_PRESENT:
            event = DeviceEvent.EVENT_SCREEN_USER_PRESENT;
            type = DeviceEvent.TYPE_SCREEN;
            break;

        case Intent.ACTION_BOOT_COMPLETED:
            event = DeviceEvent.EVENT_BOOT_COMPLETED;
            type = DeviceEvent.TYPE_BOOT;
            break;

        case Intent.ACTION_SHUTDOWN:
            event = DeviceEvent.EVENT_BOOT_SHUTDOWN;
            type = DeviceEvent.TYPE_BOOT;
            break;

        case Intent.ACTION_BATTERY_LOW:
            event = DeviceEvent.EVENT_BATTERY_LOW;
            type = DeviceEvent.TYPE_BATTERY;
            break;

        case Intent.ACTION_BATTERY_OKAY:
            event = DeviceEvent.EVENT_BATTERY_OKAY;
            type = DeviceEvent.TYPE_BATTERY;
            break;

        case Intent.ACTION_POWER_CONNECTED:
            event = DeviceEvent.EVENT_BATTERY_AC_CONNECTED;
            type = DeviceEvent.TYPE_BATTERY;
            break;

        case Intent.ACTION_POWER_DISCONNECTED:
            event = DeviceEvent.EVENT_BATTERY_AC_DISCONNECTED;
            type = DeviceEvent.TYPE_BATTERY;
            break;

        case AudioManager.RINGER_MODE_CHANGED_ACTION:
            AudioManager am = (AudioManager)getContext().getSystemService(Context.AUDIO_SERVICE);
            switch (am.getRingerMode()) {
                case AudioManager.RINGER_MODE_SILENT:
                    event = DeviceEvent.EVENT_RINGER_SILENT;
                    type = DeviceEvent.TYPE_RINGER;
                    break;

                case AudioManager.RINGER_MODE_VIBRATE:
                    event = DeviceEvent.EVENT_RINGER_VIBRATE;
                    type = DeviceEvent.TYPE_RINGER;
                    break;

                case AudioManager.RINGER_MODE_NORMAL:
                    event = DeviceEvent.EVENT_RINGER_NORMAL;
                    type = DeviceEvent.TYPE_RINGER;
                    break;
            }
        default:
            break;
    }

    if (type != null)
        output(new DeviceEvent(type, event));
}
 
源代码20 项目: reacteu-app   文件: Vibration.java
/**
 * Vibrates the device with a given pattern.
 *
 * @param pattern     Pattern with which to vibrate the device.
 *                    Pass in an array of longs that
 *                    are the durations for which to
 *                    turn on or off the vibrator in
 *                    milliseconds. The first value
 *                    indicates the number of milliseconds
 *                    to wait before turning the vibrator
 *                    on. The next value indicates the
 *                    number of milliseconds for which
 *                    to keep the vibrator on before
 *                    turning it off. Subsequent values
 *                    alternate between durations in
 *                    milliseconds to turn the vibrator
 *                    off or to turn the vibrator on.
 *
 * @param repeat      Optional index into the pattern array at which
 *                    to start repeating, or -1 for no repetition (default).
 */
public void vibrateWithPattern(long[] pattern, int repeat) {
    AudioManager manager = (AudioManager) this.cordova.getActivity().getSystemService(Context.AUDIO_SERVICE);
    if (manager.getRingerMode() != AudioManager.RINGER_MODE_SILENT) {
        Vibrator vibrator = (Vibrator) this.cordova.getActivity().getSystemService(Context.VIBRATOR_SERVICE);
        vibrator.vibrate(pattern, repeat);
    }
}