2015-06-21 132 views
0

AlarmReceiver.classAlarmreceiver如何阻止媒体播放器

public void onReceive(Context context, Intent intent) { 

     // Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); 


     if (mp.isPlaying()) { 
      stopPlaying(); 
      mp.stop(); 
     } 
     else { 
      stopPlaying(); 
      mp = MediaPlayer.create(context, R.drawable.aaz); 
      mp.start(); 
     } 

} 


private void stopPlaying() { 
     if (mp != null) { 
      mp.stop(); 
      mp.release(); 
      mp = null; 
     }} 

这台当达到计时器那么它西港岛线播放音频报警。

以下代码来自Mainactivity。

private void setAlarm(Calendar targetCal) { 
     textAlarmPrompt.setText(
       "\n\n***\n" 
         + "Alarm is [email protected] " + targetCal.getTime() + "\n" 
         + "***\n"); 

     Intent intent = new Intent(getBaseContext(), AlarmReceiver.class); 
     PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), RQS_1, intent, 0); 
     AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
     alarmManager.set(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(), pendingIntent); 

    } 

停机报警:但音频没有停止,当这个代码是触发AlarmReceiver.class

以下代码来自Mainactivity

private void cancelAlarm() { 

      textAlarmPrompt.setText(
        "\n\n***\n" 
          + "Alarm Cancelled! \n" 
          + "***\n"); 




      Intent intent = new Intent(getBaseContext(), AlarmReceiver.class); 
      PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), RQS_1, intent, 0); 
      AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
      alarmManager.cancel(pendingIntent); 


     } 

回答

0

做服务来处理报警,您可以通过设置您的报警时间表startService处理,并停止在stopService

+0

我真的很感激你的善意回复先生。我对此很陌生,至目前为止,我已经遵循教程并首次制作了这个应用程序,并且我还没有获得帮助而添加了媒体代码,我渴望学习,只是想更多地了解该做什么。好心告诉我如何使用(服务)我怎么去做一个简单的请指教,因为我是非常新的先生的欢呼声。 –