我已經在MediaPActivity活動中聲明瞭一個媒體播放器變量,然後想要在第二個活動中暫停或停止它。我已經在第二類中聲明瞭意圖,但是當我嘗試在MediaPActivity中單擊btn1時mediplayer中,第二個活動中的mediaplayer未被暫停/停止。下面給出的代碼有什麼問題?如何從其他活動中暫停/停止媒體播放器?
public class MediaPActivity extends Activity {
Button btn, btn1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.btn);
btn1 = (Button) findViewById(R.id.btn1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MediaPActivity.this, Second.class);
startActivity(i);
}
});
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MediaPActivity.this, Second.class);
i.setAction(Second.ACTION_PAUSE);
}
});
}
}
第二活動:
public class Second extends Activity {
Button btnplay, btnpause;
MediaPlayer player;
public static final String ACTION_PLAY = "com.synapse.test.PLAY";
public static final String ACTION_PAUSE = "com.synapse.test.PAUSE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
btnplay = (Button) findViewById(R.id.button1);
btnpause = (Button) findViewById(R.id.button2);
player = new MediaPlayer();
player = MediaPlayer.create(Second.this, R.raw.testsong_20_sec);
btnplay.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
player.start();
}
});
btnpause.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
player.pause();
}
});
}
@Override
protected void onNewIntent(Intent intent) {
if(intent.getAction().equals(ACTION_PLAY)){
player.start();
}
else if(intent.getAction().equals(ACTION_PAUSE)){
player.pause();
}
}
}
Manifest File:
<activity
android:name=".MediaPActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Second" android:launchMode="singleTop" />
你是什麼意思的「不工作」?不顯示?請同時發佈LogCat – 2012-07-20 07:50:11
的輸出讓我得到這個正確的,當你嘗試通過點擊'btn'啓動第二個活動時,第二個活動出現在前面,對吧?接下來你想要什麼? – 2012-07-20 08:06:44
您爲什麼不使用服務類來播放和暫停媒體播放器? – rajpara 2012-07-20 08:40:57