You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android应用内通过点击按钮以编程方式触发分屏功能

点击按钮触发系统分屏的实现方案

嘿,刚好做过类似的需求!Android从N版本(API 24)开始提供了直接触发分屏的API,下面是具体的实现步骤,亲测有效~

第一步:配置Manifest文件

首先得确保你的Activity支持分屏模式,在AndroidManifest.xml的目标Activity标签里添加以下属性(API 24+默认是true,但手动声明更稳妥):

<activity
    android:name=".YourTargetActivity"
    android:resizeableActivity="true" <!-- 必须开启这个才支持分屏 -->
    <!-- 可选:设置进入分屏时的默认大小 -->
    android:defaultWidth="600dp"
    android:defaultHeight="match_parent">
    ...
</activity>

第二步:按钮点击事件的核心代码

接下来就是给按钮添加点击逻辑,判断系统版本后调用分屏API即可。

Java版本代码

yourSplitScreenButton.setOnClickListener(v -> {
    // 先判断系统版本是否支持分屏
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        // 检查当前是否已经处于分屏模式,避免重复触发
        if (!isInMultiWindowMode()) {
            // 触发系统分屏
            enterMultiWindowMode();
        }
    } else {
        // 低于Android N的版本不支持分屏,给用户提示
        Toast.makeText(this, "当前系统版本不支持分屏功能", Toast.LENGTH_SHORT).show();
    }
});

Kotlin版本代码

yourSplitScreenButton.setOnClickListener {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        if (!isInMultiWindowMode) {
            enterMultiWindowMode()
        }
    } else {
        Toast.makeText(this, "当前系统版本不支持分屏功能", Toast.LENGTH_SHORT).show()
    }
}

一些关键注意事项

  • 兼容性检查:除了版本判断,还可以提前检查系统是否支持分屏特性:
    boolean isMultiWindowSupported = getPackageManager().hasSystemFeature(PackageManager.FEATURE_MULTI_WINDOW);
    
  • 厂商自定义限制:部分国产手机可能对分屏有额外限制(比如需要用户在系统设置中开启分屏权限),如果调用API无效,可以引导用户手动开启。
  • 生命周期变化:进入分屏模式时,Activity会重新走一遍生命周期(onPause() → onResume()),记得做好页面状态的保存与恢复,避免数据丢失。

内容的提问来源于stack exchange,提问作者Muhammad Waris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 11:27:47