为什么报警被叫但不响?

时间:2017-03-27 12:37:08

标签: android alarmmanager ringtone

这是我打电话给警报员,

     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,它正在播放但是铃声从未响铃......它不是我确定的音量,那么还有什么可能是问题?提前谢谢

1 个答案:

答案 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>