pull/11/head
gq 3 months ago
parent 2cebd709b0
commit acbc52c966

@ -83,42 +83,61 @@ public class AlarmAlertActivity extends Activity implements OnClickListener, OnD
}
}
/**
*
* @return true false
*/
private boolean isScreenOn() {
// 获取电源管理服务
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
// 返回当前屏幕状态
return pm.isScreenOn();
}
/**
*
* mPlayer
*/
private void playAlarmSound() {
// 获取系统默认的闹铃铃声URI
Uri url = RingtoneManager.getActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM);
// 获取静音模式影响的音频流设置
int silentModeStreams = Settings.System.getInt(getContentResolver(),
Settings.System.MODE_RINGER_STREAMS_AFFECTED, 0);
// 检查闹铃音频流是否受静音模式影响
if ((silentModeStreams & (1 << AudioManager.STREAM_ALARM)) != 0) {
// 如果受影响,使用静音模式设置的音频流
mPlayer.setAudioStreamType(silentModeStreams);
} else {
// 否则使用默认的闹铃音频流
mPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
}
try {
// 设置音频源
mPlayer.setDataSource(this, url);
// 准备播放器
mPlayer.prepare();
// 设置循环播放
mPlayer.setLooping(true);
// 开始播放
mPlayer.start();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
// 处理非法参数异常如无效的URI
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
// 处理权限不足异常
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
// 处理播放器状态异常(如未正确初始化)
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
// 处理IO异常如无法读取音频文件
e.printStackTrace();
}
}
private void showActionDialog() {
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle(R.string.app_name);

Loading…
Cancel
Save