一只刘小彤! 2024-04-11 12:03 采纳率: 0%
浏览 381
已结题

Android 13 taskview 无法切换全屏模式

问题版本:Android 13

问题内容:
activityview是一块虚拟屏可以在两个屏切换activity实现全屏小屏显示,Android13activityview已经无了只有taskview怎么全屏半屏显示 taskview实现原理似乎是直接对窗口进行缩小窗口mode是 MultiWindow,我们怎么才能让activity重新恢复到大屏。。

问题做过的尝试:
先说下尝试了哪些解决方案和一些之前能解决现在废弃的api
ATM 的 setTaskWindowMode废弃
setSystemUiVisibility 废弃
SYSTEM_UI_FLAG_FULLSCREEN 废弃
ActivityOptions::setLaunchWindowingMode 无法实时生效,只有新建Activity才会生效

目前的解决方案:
现在我的解决方案是把当前task进行remove然后重建Activity 但是这样全屏半屏切换会有一次销毁,看看有无有更好方案

  • 写回答

32条回答 默认 最新

  • 码农阿豪@新空间 优质创作者: Java、后端开发技术领域 2024-04-11 12:03
    关注
    获得1.20元问题酬金
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题:如何在Android 13中实现全屏小屏切换以及让activity重新恢复到大屏。 回答: 一、全屏小屏切换实现 在Android 13中,taskview可以用来实现全屏小屏切换的效果。通过在任务视图列表中选择一个应用程序,可以切换到该应用程序的全屏模式。这样,就可以在任务列表中同时运行多个应用程序。 在实现全屏小屏切换时,我们需要用到以下两种模式:
    1. Window模式 Window模式是指应用程序被单独窗口化后,可以通过切换窗口的方式来实现全屏小屏切换。 以下是使用Window模式实现全屏小屏切换的示例代码:
    Intent intent = new Intent(MainActivity.this, SecondActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT | Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
    

    在此示例中,我们可以看到: - 通过FLAG_ACTIVITY_LAUNCH_ADJACENT标识启动相邻任务视图; - 通过FLAG_ACTIVITY_NEW_TASK标识启动新任务。 2. Split-Screen模式 Split-Screen模式是指应用程序可以被同时放置在两个不同的窗口中,从而实现全屏小屏切换的效果。 以下是使用Split-Screen模式实现全屏小屏切换的示例代码:

    // 开始Split-Screen模式
    MainActivity.this.enterPictureInPictureMode(PictureInPictureParams.Builder().build());
    // 退出Split-Screen模式
    MainActivity.this.finish();
    

    在此示例中,我们可以看到,通过enterPictureInPictureMode()方法进入Split-Screen模式,通过finish()方法退出Split-Screen模式。 二、让activity重新恢复到大屏 在taskview中,缩小activity是通过PipHelper类实现的。因此,我们可以使用PipHelper类来实现让activity重新恢复到大屏。 以下是让activity重新恢复到大屏的示例代码:

    // 获得PipHelper实例
    PipHelper pipHelper = new PipHelper(this);
    // 将该activity/应用程序恢复到大屏
    pipHelper.onBackPressed();
    

    在此示例中,我们可以看到,通过PipHelper类的onBackPressed()方法将该activity/应用程序恢复到大屏。 总结: 如何在Android 13中实现全屏小屏切换以及让activity重新恢复到大屏: 1. 使用Window模式或Split-Screen模式实现全屏小屏切换; 2. 使用PipHelper类的onBackPressed()方法实现让activity重新恢复到大屏。

    评论

报告相同问题?

问题事件

  • 系统已结题 4月19日
  • 修改了问题 4月15日
  • 赞助了问题酬金50元 4月15日
  • 修改了问题 4月15日
  • 展开全部