Android(安卓)根据系统声音模式设置提醒方式
16lz
2021-01-24
通知提醒对很多应用来说必不可少的,但是有的提醒方式需要根据系统声音模式进行相应的改变,比如系统声音模式设置为静音则响应方式也应为静音,为震动则为震动,通过获取系统声音模式改变响应方式是apk必备要点,以下为代码.
主要代码:
public class SoundCtrol { private Vibrator mVibrator; private int MUTE = 0; //静音 private int VIBRATE = 1;//振动 private int SOUND = 2;//响玲 public void playSound(Context context,MediaPlayer player) { //创建震动服务对象 mVibrator=(Vibrator)context.getSystemService(Service.VIBRATOR_SERVICE); AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE); //ringerMode为手机的系统声音设置的状态值,0位静音,1为震动,2为响铃 final int ringerMode = am.getRingerMode(); if (ringerMode == MUTE) { //do nothing }else if (ringerMode == VIBRATE) { //设置震动周期,数组表示时间:等待+执行,单位是毫秒,下面操作代表:等待100,执行100,等待100,执行1000, //后面的数字如果为-1代表不重复,之执行一次,其他代表会重复,0代表从数组的第0个位置开始 mVibrator.vibrate(new long[]{100,0,100,500},-1); } else if (ringerMode == SOUND) { //播放声音 player.start(); } }}
权限声明
<uses-permission android:name="android.permission.VIBRATE"/>
end
更多相关文章
- Android(安卓)应用程序安装方式 的详细调研
- Android(安卓)调用系统搜索框
- 基于android系统的电话拨号跟短信发送
- 修改编译android文件系统编译链版本
- android 的OOM
- android 原生系统服务定位实现
- Linux 4.4内核移植以及Android系统编译
- 【Android】WebView加载https页面不能正常显示资源问题
- [置顶] Android(安卓)进程常驻(1)----开篇