我有一个singleTask的Activity,我想在用户点击按钮时重新启动(重新显示)此活动。
当我第一次调用活动时,它将根据通过Intent传递的一些数据播放音乐。但是当用户按回我的MainActivity时,他可以按一个按钮将他带回播放器活动。问题是,当用户按下按钮时,活动会重新启动,但似乎不是通过onNewIntent
,因为它开始从开始播放(从开始发送原始播放列表到服务)。 / p>
是否只是在没有"什么也不做"的情况下重新展示活动,只是继续以前做的事情?
修改:
这就是我如何调用我的singleTask Activity:
littlePlayer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!isPlaying) {
Intent it = new Intent(MainActivity.this, Player_.class);
it.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
it.putExtra("json", lastJson);
it.putExtra("position", position);
it.putExtra("playing_position", playingPosition);
startActivity(it);
}else{
Intent it = new Intent(MainActivity.this, Player_.class);
it.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(it);
//Player_.intent(MainActivity.this).start();
}
}
});
答案 0 :(得分:1)
将您的活动更改为singleTop
singleTask
,以避免重新启动活动。
然后,像这样打电话给你的活动,
Intent intent= new Intent(context, YourActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);