如何以编程方式关闭画中画



我在画中画模式下遇到了这个问题,我想在从画中画本身以外的其他地方再次打开活动时关闭 PIP(画中画(。不是从关闭按钮。

我想要与youtube相同的场景,即当用户单击PIP(画中画(时,它会打开相同的活动,但是当用户从列表中选择另一个视频时,它会结束上一个PIP(画中画(并打开一个新活动。就我而言,当我打开一个新视频时,它会恢复我之前播放的视频。

有两种可能的方法可以做到这一点:

  1. 如果您有活动访问权限,则将活动移到后面。

    activity.moveTaskToBack(false);
    

来自官方文档

将包含此活动的任务移到活动的后面 叠。活动在任务中的顺序保持不变。

  1. 您可以将活动恢复到前面

    Intent intent = new Intent(PipScreenActivity.this, PipScreenActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    activity.startActivity(intent);
    

活动 A

Intent intent = new Intent("finish_activity");
sendBroadcast(intent);

活动B

BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context arg0, Intent intent) {
String action = intent.getAction();
if (action.equals("finish_activity")) {
finish();
}
}
};
registerReceiver(broadcastReceiver, new IntentFilter("finish_activity"));
@Override
public void onResume() {
super.onResume();
if(!AppPreferences.getIsSameCinema(this).equals(idtitle)){//check is this a new film or no
idtitle = AppPreferences.getIsSameCinema(this);
streamLink = AppPreferences.getLinkCinema(this);
stopPlayer();
startPlayer(); //full player start
} else{
resumePlayer(); //prepare and setPlayWhenReady(true);
}
}

idtitlestreamLink- 当前玩家意图的附加功能

idtitle- UUID,streamLink- 视频网址

在玩家活动开始时更改共享首选项。

相关内容

  • 没有找到相关文章

最新更新