2011-12-22 21 views
0

我開始從服務中播放MediaPlayer的活動,並且它的啓動正常,但立即調用onPause並離開。但是,如果我不在活動中放置一個onPause()方法... Mediaplayer播放良好並且視圖正確。下面是我的代碼:從Service啓動的活動過快地調用onPause

服務:

import android.content.Intent; 
import android.util.Log; 

public class ReminderService extends WakeReminderIntentService { 

    public ReminderService() { 
     super("ReminderService"); 
      } 

    @Override 
    void doReminderWork(Intent intent) { 
     Log.d("ReminderService", "Doing work."); 
     Intent dialogIntent = new Intent(getBaseContext(), TestRec.class); 
     dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     getApplication().startActivity(dialogIntent); 


    } 
} 

TestRec.class:

import android.app.Activity; 
import android.content.Context; 
import android.media.AudioManager; 
import android.media.MediaPlayer; 
import android.view.Window; 
import android.view.WindowManager; 

public class TestRec extends Activity { 
    MediaPlayer mp; 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 

     requestWindowFeature(android.view.Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.main); 
     getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 

        | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD 

        | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 

        | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON 
       ); 

     mp = MediaPlayer.create(this, R.raw.music); 
      mp.start(); 
    } 



    protected void onPause() { 
     // TODO Auto-generated method stub 
     super.onPause(); 
     mp.stop(); 
       finish(); 
     } 
} 

回答

0

的onPause()是由活動不叫,而是由Android本身,以表明活動已失去焦點,現在還有其他活動。什麼活動在前面呢?