我想知道我是否可以在一个活动中声明媒体播放器变量,然后在单独的活动中暂停或停止它。我将如何解决这个问题还是有另一种方式?感谢
答案 0 :(得分:2)
您可以在活动中使用MediaPlayer
的静态变量,以便使用YourActivityName.mediaplayer.stop()
访问媒体播放器
或
使用service
类
我更喜欢service
类
答案 1 :(得分:1)
我不是静态变量的粉丝。我更喜欢做这样的事情
Android Manifest
<activity name="Player" android:launchMode="singleTop"/>
此前者确保您只有一个活动实例在运行,并且导致启动该活动的所有意图都通过其onNewIntent()
class Player extends Activity{
public static final String ACTION_PLAY = "com....PLAY";
public static final String ACTION_PAUSE = "com...PAUSE";
public void onNewIntent(Intent intent){
if(intent.getAction().equals(ACTION_PLAY)){
//Play
}
else if(intent.getAction().equals(ACTION_PAUSE){
//Pause
}
}
}
从调用活动中,您可以调用
Intent playIntent = new Intent(this, Player.class);
playIntent.setAction(Player.ACTION_PLAY);
和
Intent pauseIntent = new Intent(this, Player.class);
pauseIntent.setAction(Player.ACTION_PAUSE);