android.media.AudioManager#getRingerMode ( )源码实例Demo

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

源代码1 项目: MaterialHome   文件: CaptureActivity.java
@Override
    protected void onResume() {
        super.onResume();
        SurfaceView surfaceView = (SurfaceView) findViewById(R.id.preview_view);
        SurfaceHolder surfaceHolder = surfaceView.getHolder();
        if (hasSurface) {
            initCamera(surfaceHolder);
        } else {
            surfaceHolder.addCallback(this);
            surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
        }
        decodeFormats = null;
        characterSet = null;

        playBeep = true;
        AudioManager audioService = (AudioManager) getSystemService(AUDIO_SERVICE);
        if (audioService.getRingerMode() != AudioManager.RINGER_MODE_NORMAL) {
            playBeep = false;
        }
        initBeepSound();
        vibrate = true;
//        MobclickAgent.onResume(this);
    }
 
源代码2 项目: codeexamples-android   文件: ClockBackService.java
@Override
public void onServiceConnected() {
    if (isInfrastructureInitialized) {
        return;
    }

    mContext = this;

    // Send a message to start the TTS.
    mHandler.sendEmptyMessage(MESSAGE_START_TTS);

    // Get the vibrator service.
    mVibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);

    // Get the AudioManager and configure according the current ring mode.
    mAudioManager = (AudioManager) getSystemService(Service.AUDIO_SERVICE);
    // In Froyo the broadcast receiver for the ringer mode is called back with the
    // current state upon registering but in Eclair this is not done so we poll here.
    int ringerMode = mAudioManager.getRingerMode();
    configureForRingerMode(ringerMode);

    // We are in an initialized state now.
    isInfrastructureInitialized = true;
}
 
源代码3 项目: droidddle   文件: FollowingCheckService.java
private void notifyNewShots(ArrayList<Shot> shots) {
    if (shots.isEmpty()) {
        return;
    }

    getSharedPreferences().edit().putLong(PREF_LAST_SHOT_ID, shots.get(0).id).apply();

    int size = shots.size();
    // if only one shot, using BigPictureStyle
    // TODO test one notification
    boolean test = false && BuildConfig.DEBUG && new Random().nextBoolean();
    AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
    boolean sound = audio.getRingerMode() == AudioManager.RINGER_MODE_NORMAL;
    if (size == 1 || test) {
        postShot(shots.get(0), sound);
    } else {
        //if have more shot, using InboxStyle and wearable pages...
        postShots(shots, sound);

    }

}
 
private static boolean shouldBeep(SharedPreferences prefs, Context activity) {
  boolean shouldPlayBeep = prefs.getBoolean(PreferencesActivity.KEY_PLAY_BEEP, true);
  if (shouldPlayBeep) {
    // See if sound settings overrides this
    AudioManager audioService = (AudioManager) activity.getSystemService(Context.AUDIO_SERVICE);
    if (audioService.getRingerMode() != AudioManager.RINGER_MODE_NORMAL) {
      shouldPlayBeep = false;
    }
  }
  return shouldPlayBeep;
}
 
源代码5 项目: bcm-android   文件: IncomingRinger.java
public void start() {
  AudioManager audioManager = AppUtil.INSTANCE.getAudioManager(context);

  if (player != null) player.release();
  player = createPlayer();

  int ringerMode = audioManager.getRingerMode();

  if (shouldVibrate(context, player, ringerMode)) {
    Log.i(TAG, "Starting vibration");
    vibrator.vibrate(VIBRATE_PATTERN, 1);
  }

  if (player != null && ringerMode == AudioManager.RINGER_MODE_NORMAL) {
    try {
      if (!player.isPlaying()) {
        player.prepare();
        player.start();
        Log.w(TAG, "Playing ringtone now...");
      } else {
        Log.w(TAG, "Ringtone is already playing, declining to restart.");
      }
    } catch (IllegalStateException | IOException e) {
      Log.w(TAG, e);
      player = null;
    }
  } else {
    Log.w(TAG, "Not ringing, mode: " + ringerMode);
  }
}
 
源代码6 项目: beaconloc   文件: SilentOffAction.java
@Override
public String execute(Context context) {
    final AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
    int ringerMode = audioManager.getRingerMode();
    int old_mode = PreferencesUtil.getSilentModeProfile(context);
    if (ringerMode != AudioManager.RINGER_MODE_VIBRATE) {
        audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
    }
    return super.execute(context);
}
 
源代码7 项目: ZXing-Standalone-library   文件: BeepManager.java
private static boolean shouldBeep(SharedPreferences prefs, Context activity) {
  boolean shouldPlayBeep = prefs.getBoolean(PreferencesActivity.KEY_PLAY_BEEP, true);
  if (shouldPlayBeep) {
    // See if sound settings overrides this
    AudioManager audioService = (AudioManager) activity.getSystemService(Context.AUDIO_SERVICE);
    if (audioService.getRingerMode() != AudioManager.RINGER_MODE_NORMAL) {
      shouldPlayBeep = false;
    }
  }
  return shouldPlayBeep;
}
 
源代码8 项目: xDrip   文件: AlertPlayer.java
private boolean isLoudPhone(Context ctx) {
    AudioManager am = (AudioManager)ctx.getSystemService(Context.AUDIO_SERVICE);

    switch (am.getRingerMode()) {
        case AudioManager.RINGER_MODE_SILENT:
            return false;
        case AudioManager.RINGER_MODE_VIBRATE:
            return false;
        case AudioManager.RINGER_MODE_NORMAL:
            return true;
    }
    // unknown mode, not sure let's play just in any case.
    return true;
}
 
源代码9 项目: MuslimMateAndroid   文件: PrayerNotification.java
/**
 * Function to check to make mobile silent in prayer
 */
private void changeMobileToSilentMood() {
    AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
    int ringerMode = mAudioManager.getRingerMode();
    if (ringerMode != AudioManager.RINGER_MODE_SILENT) {
        Alarms.switchToSilent(10, this);
    }
}
 
源代码10 项目: FamilyChat   文件: BeepManager.java
private static boolean shouldBeep(SharedPreferences prefs, Context activity) {
    boolean shouldPlayBeep = true;
    if (shouldPlayBeep) {
        // See if sound settings overrides this
        AudioManager audioService = (AudioManager) activity.getSystemService(Context.AUDIO_SERVICE);
        if (audioService.getRingerMode() != AudioManager.RINGER_MODE_NORMAL) {
            shouldPlayBeep = false;
        }
    }
    return shouldPlayBeep;
}
 
源代码11 项目: unity-ads-android   文件: Device.java
public static int getRingerMode () {
	if (ClientProperties.getApplicationContext() != null) {
		AudioManager am = (AudioManager)ClientProperties.getApplicationContext().getSystemService(Context.AUDIO_SERVICE);

		if (am != null)
			return am.getRingerMode();
		else
			return -2;
	}

	return -1;
}
 
源代码12 项目: Saiy-PS   文件: VolumeHelper.java
/**
 * Check if the device can currently output sound, by checking the media profile. This is unfortunately
 * not foolproof, due to the various ways different ROM and device manufacturers link the stream types.
 *
 * @param audioManager object
 * @return true if the device will output sounds, false otherwise
 */
private static boolean volumeProfileEnabled(@NonNull final AudioManager audioManager) {

    switch (audioManager.getRingerMode()) {

        case AudioManager.RINGER_MODE_NORMAL:
            if (DEBUG) {
                MyLog.i(CLS_NAME, "volumeProfileEnabled: RINGER_MODE_NORMAL");
            }
            return true;
        case AudioManager.RINGER_MODE_VIBRATE:
            if (DEBUG) {
                MyLog.i(CLS_NAME, "volumeProfileEnabled: RINGER_MODE_VIBRATE");
            }
            break;
        case AudioManager.RINGER_MODE_SILENT:
            if (DEBUG) {
                MyLog.i(CLS_NAME, "volumeProfileEnabled: RINGER_MODE_SILENT");
            }
            break;
        default:
            if (DEBUG) {
                MyLog.w(CLS_NAME, "volumeProfileEnabled: Default");
            }
            break;
    }

    return false;

}
 
源代码13 项目: FoodOrdering   文件: BeepManager.java
/**
 * 判断是否需要响铃
 * 
 * @param prefs
 * @param activity
 * @return
 */
private static boolean shouldBeep(SharedPreferences prefs, Context activity) {
	boolean shouldPlayBeep = prefs.getBoolean(
			PreferencesActivity.KEY_PLAY_BEEP, true);
	if (shouldPlayBeep) {
		// See if sound settings overrides this
		AudioManager audioService = (AudioManager) activity
				.getSystemService(Context.AUDIO_SERVICE);
		if (audioService.getRingerMode() != AudioManager.RINGER_MODE_NORMAL) {
			shouldPlayBeep = false;
		}
	}
	return shouldPlayBeep;
}
 
源代码14 项目: reacteu-app   文件: Vibration.java
/**
 * Vibrates the device for a given amount of time.
 *
 * @param time      Time to vibrate in ms.
 */
public void vibrate(long time) {
    // Start the vibration, 0 defaults to half a second.
    if (time == 0) {
        time = 500;
    }
    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(time);
    }
}
 
@TargetApi(Build.VERSION_CODES.M)
private static int getZenMode(Context context, AudioManager audioManager) {
    // convert to profile zenMode
    int zenMode = 0;
    NotificationManager mNotificationManager = (NotificationManager) context.getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
    if (mNotificationManager != null) {
        int interruptionFilter = mNotificationManager.getCurrentInterruptionFilter();
        //PPApplication.logE("InterruptionFilterChangedBroadcastReceiver.getZenMode", "interruptionFilter=" + interruptionFilter);
        int ringerMode = audioManager.getRingerMode();
        switch (interruptionFilter) {
            case NotificationManager.INTERRUPTION_FILTER_ALL:
                //if (ActivateProfileHelper.vibrationIsOn(/*context, */audioManager, true))
                if (ringerMode == AudioManager.RINGER_MODE_VIBRATE)
                    zenMode = 4;
                else
                    zenMode = 1;
                break;
            case NotificationManager.INTERRUPTION_FILTER_PRIORITY:
                //if (ActivateProfileHelper.vibrationIsOn(/*context, */audioManager, true))
                if (ringerMode == AudioManager.RINGER_MODE_VIBRATE)
                    zenMode = 5;
                else
                    zenMode = 2;
                break;
            case NotificationManager.INTERRUPTION_FILTER_NONE:
                zenMode = 3;
                break;
            case NotificationManager.INTERRUPTION_FILTER_ALARMS:
                zenMode = 6;
                break;
            case NotificationManager.INTERRUPTION_FILTER_UNKNOWN:
                zenMode = 1;
                break;
        }
        //PPApplication.logE("InterruptionFilterChangedBroadcastReceiver.getZenMode", "zenMode=" + zenMode);
    }
    return zenMode;
}
 
源代码16 项目: OpenLibre   文件: NfcVReaderTask.java
@Override
protected void onPostExecute(Boolean success) {
    mainActivity.findViewById(R.id.pb_scan_circle).setVisibility(View.INVISIBLE);

    Vibrator vibrator = (Vibrator) mainActivity.getSystemService(VIBRATOR_SERVICE);
    AudioManager audioManager = (AudioManager) mainActivity.getSystemService(Context.AUDIO_SERVICE);

    if (!success) {
        Toast.makeText(mainActivity,
                mainActivity.getResources().getString(R.string.reading_sensor_error),
                Toast.LENGTH_SHORT
        ).show();

        if (audioManager.getRingerMode() != RINGER_MODE_SILENT) {
            vibrator.vibrate(vibrationPatternFailure, -1);
        }
        return;
    }

    if (audioManager.getRingerMode() != RINGER_MODE_SILENT) {
        vibrator.vibrate(vibrationPatternSuccess, -1);
    }

    if (RawTagData.getSensorReadyInMinutes(data) > 0) {
        Toast.makeText(mainActivity,
                mainActivity.getResources().getString(R.string.reading_sensor_not_ready) + " " +
                        String.format(mainActivity.getResources().getString(R.string.sensor_ready_in), RawTagData.getSensorReadyInMinutes(data)) + " " +
                        mainActivity.getResources().getString(R.string.minutes),
                Toast.LENGTH_LONG
        ).show();

        final TextView tv_sensor_ready_counter = (TextView) mainActivity.findViewById(R.id.tv_sensor_ready_counter);
        tv_sensor_ready_counter.setVisibility(View.VISIBLE);

        new CountDownTimer(TimeUnit.MINUTES.toMillis(RawTagData.getSensorReadyInMinutes(data)), TimeUnit.MINUTES.toMillis(1)) {
            public void onTick(long millisUntilFinished) {
                int readyInMinutes = (int) Math.ceil(((double) millisUntilFinished) / TimeUnit.MINUTES.toMillis(1));
                tv_sensor_ready_counter.setText(String.format(
                        mainActivity.getResources().getString(R.string.sensor_ready_in),
                        readyInMinutes));
            }

            public void onFinish() {
                tv_sensor_ready_counter.setVisibility(View.INVISIBLE);
            }
        }.start();

        return;
    }

    Toast.makeText(mainActivity,
            mainActivity.getResources().getString(R.string.reading_sensor_success),
            Toast.LENGTH_SHORT
    ).show();

    // FIXME: the new data should be propagated transparently through the database backend
    mainActivity.onNfcReadingFinished(processRawData(sensorTagId, data));
}
 
源代码17 项目: TelePlus-Android   文件: VoIPBaseService.java
protected void startRingtoneAndVibration(int chatID){
	SharedPreferences prefs = MessagesController.getNotificationsSettings(currentAccount);
	AudioManager am = (AudioManager) getSystemService(AUDIO_SERVICE);
	boolean needRing=am.getRingerMode()!=AudioManager.RINGER_MODE_SILENT;
	if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){
		try{
			int mode=Settings.Global.getInt(getContentResolver(), "zen_mode");
			if(needRing)
				needRing=mode==0;
		}catch(Exception ignore){}
	}
	if(needRing){
		if(!USE_CONNECTION_SERVICE){
			am.requestAudioFocus(this, AudioManager.STREAM_RING, AudioManager.AUDIOFOCUS_GAIN);
		}
		ringtonePlayer=new MediaPlayer();
		ringtonePlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener(){
			@Override
			public void onPrepared(MediaPlayer mediaPlayer){
				ringtonePlayer.start();
			}
		});
		ringtonePlayer.setLooping(true);
		ringtonePlayer.setAudioStreamType(AudioManager.STREAM_RING);
		try{
			String notificationUri;
			if(prefs.getBoolean("custom_"+chatID, false))
				notificationUri=prefs.getString("ringtone_path_"+chatID, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE).toString());
			else
				notificationUri=prefs.getString("CallsRingtonePath", RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE).toString());
			ringtonePlayer.setDataSource(this, Uri.parse(notificationUri));
			ringtonePlayer.prepareAsync();
		}catch(Exception e){
			FileLog.e(e);
			if(ringtonePlayer!=null){
				ringtonePlayer.release();
				ringtonePlayer=null;
			}
		}
		int vibrate;
		if(prefs.getBoolean("custom_"+chatID, false))
			vibrate=prefs.getInt("calls_vibrate_"+chatID, 0);
		else
			vibrate=prefs.getInt("vibrate_calls", 0);
		if((vibrate!=2 && vibrate!=4 && (am.getRingerMode()==AudioManager.RINGER_MODE_VIBRATE || am.getRingerMode()==AudioManager.RINGER_MODE_NORMAL)) ||
				(vibrate==4 && am.getRingerMode()==AudioManager.RINGER_MODE_VIBRATE)){
			vibrator=(Vibrator) getSystemService(VIBRATOR_SERVICE);
			long duration=700;
			if(vibrate==1)
				duration/=2;
			else if(vibrate==3)
				duration*=2;
			vibrator.vibrate(new long[]{0, duration, 500}, 0);
		}
	}
}
 
源代码18 项目: prayer-times-android   文件: SilenterReceiver.java
public static void silent(Context c, int mins) {
    if (!PermissionUtils.get(c).pNotPolicy && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {

        androidx.core.app.NotificationCompat.Builder builder;
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
            builder = new androidx.core.app.NotificationCompat.Builder(c, NotificationUtils.getPlayingChannel(c));
        } else {
            builder = new NotificationCompat.Builder(c);
        }

        builder = builder.setContentTitle(c.getString(R.string.silenterNotificationTitle))
                .setContentText(c.getString(R.string.silenterNotificationInfo))
                .setContentIntent(PendingIntent.getActivity(c, 0, new Intent(android.provider.Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS), 0))
                .setSmallIcon(R.drawable.ic_abicon);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            builder.setChannelId(NotificationUtils.getAlarmChannel(c));
        } else {
            builder.setPriority(Notification.PRIORITY_DEFAULT);
        }

        NotificationManager nm = (NotificationManager) c.getSystemService(Context.NOTIFICATION_SERVICE);
        nm.notify("silenter", 557457, builder.build());
        return;
    }


    AudioManager aum = (AudioManager) c.getSystemService(Context.AUDIO_SERVICE);
    int ringermode = aum.getRingerMode();
    boolean modeVibrate = "vibrate".equals(Preferences.SILENTER_MODE.get());
    boolean isSilent = ringermode == AudioManager.RINGER_MODE_SILENT;
    boolean isVibrate = ringermode == AudioManager.RINGER_MODE_VIBRATE;
    if ((modeVibrate && !isVibrate && !isSilent) || (!modeVibrate && !isSilent)) {
        AlarmManager am = (AlarmManager) c.getSystemService(Context.ALARM_SERVICE);

        Intent i = new Intent(c, SilenterReceiver.class);
        i.putExtra("mode", ringermode);

        PendingIntent service = PendingIntent.getBroadcast(c, 0, i, PendingIntent.FLAG_UPDATE_CURRENT);

        am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (1000 * 60 * mins), service);


        aum.setRingerMode(modeVibrate ? AudioManager.RINGER_MODE_VIBRATE : AudioManager.RINGER_MODE_SILENT);
    }
}
 
源代码19 项目: iBeebo   文件: Utility.java
public static boolean isSystemRinger(Context context) {
    AudioManager manager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
    return manager.getRingerMode() == AudioManager.RINGER_MODE_NORMAL;
}
 
@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));
}