这是我打电话给警报员,
Intent intent = new Intent(getBaseContext(), AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(getBaseContext(), RQS_1, intent, 0);
alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(), pendingIntent);
这是我的接收者:
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
Toast.makeText(arg0, "Alarm received!", Toast.LENGTH_LONG).show();
Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
Ringtone ringtone = RingtoneManager.getRingtone(arg0, uri);
ringtone.play();
if (ringtone.isPlaying()) {
Log.e("Yep","Its playin");
}else {
Log.e("NOp","just nop");
}
当接收器被呼叫时,我总是得到Yep,它正在播放但是铃声从未响铃......它不是我确定的音量,那么还有什么可能是问题?提前谢谢
答案 0 :(得分:0)
尝试使用MediaPlayer:
Uri uri = RingtoneManager.getDefaultUri(RingtoneManager. TYPE_ALARM);
try{
MediaPlayer mp = MediaPlayer.create(arg0, uri);
mp.start();
} catch(Exception e){}
同时尝试使用RingtoneManager.TYPE_NOTIFICATION
代替RingtoneManager.TYPE_ALARM
你在模拟器上工作吗?因为它默认没有铃声。 如果是,您可以按原样使用您的代码(因为它应该在实际设备上工作,但如果没有铃声,则可能会失败,例如静音模式。)通过执行以下操作:
使用DDMS上传/ sdcard文件夹中的MP3文件,重新启动模拟器,然后打开媒体应用程序,浏览到MP3文件,长按它并选择&#34;用作手机铃声&#34;。< / p>