2016-10-10 34 views
0

我使用下面的代碼顯示給用戶的通知:警告對話框:播放MP3,直到它的顯示

      AlertDialog.Builder alert = new AlertDialog.Builder(track.this); 
          alert.setTitle("Bus arriving !"); 
          alert.setMessage("Bus has reached into your tracking area"); 
          alert.setPositiveButton("OK",null); 
          alert.show(); 

,我有以下代碼發揮通知提醒用戶:

void PlayAlertfNeeded() 
{ 
    try { 
     if (player.isPlaying()) { 
      player.stop(); 
      player.release(); 
      player = new MediaPlayer(); 
     } 

     ToneGenerator toneGen1 = new ToneGenerator(AudioManager.STREAM_ALARM, 100); 
     toneGen1.startTone(ToneGenerator.TONE_CDMA_ABBR_ALERT,500); 
     toneGen1.startTone(ToneGenerator.TONE_CDMA_ABBR_ALERT,2000); 


     AssetFileDescriptor descriptor = getAssets().openFd("canttrackthebus.mp3"); 
     player.reset(); 
     player.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength()); 
     descriptor.close(); 

     player.prepare(); 
     player.setVolume(1f, 1f); 
     player.setLooping(false); 
     player.start(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

我需要顯示警報對話框,並保持MP3循環,直到用戶按下確定按鈕。

Alert沒有onCreate可用,那麼如何實現?

回答

0
void createDialog(){ 
     AlertDialog.Builder alert = new AlertDialog.Builder(getActivity()); 
     alert.setTitle("Bus arriving !"); 
     alert.setMessage("Bus has reached into your tracking area"); 
     alert.setPositiveButton("OK",null); 
     alert.show(); 

     PlayAlertfNeeded(); 
     alert.setOnDismissListener(this); 
    } 

    @Override 
    public void onDismiss(DialogInterface dialog) { 
     if (player != null) { 
      player.stop(); 
      player.release(); 
     } 
    }