Android:在信息亭模式下无法从开发中的应用程序连接到 chromecast

问题描述 投票:0回答:1

我正在开发一个适用于 android12 的应用程序。 该应用程序是 kiosk 模式并使用 startLockTask。

要使用应用程序中的标准 Android 投射功能, 调用投射设置屏幕。

startActivity(new Intent(ACTION_CAST_SETTINGS));

我可以显示设置屏幕,并且可以连接到 FireTV, 我可以连接到 Chromecast,但无法连接到 Chromecast。 连接仍在进行中。

我发现一条确认消息“开始录制还是投射?”连接时显示,但我的应用程序上没有显示。

当我在连接之前执行 stopLockTask 时,它确实会出现, 有什么办法让它在使用startLockTask时出现吗?

java android kiosk-mode
1个回答
0
投票

这实际上是 Android 的 kiosk 模式(锁定任务)模式和系统对话框的已知限制。但是,您可以通过向允许的活动添加强制转换权限来处理此问题。

您可以在设备所有者设置中将特定系统 UI 组件列入白名单。您需要使用 DevicePolicyManager 来进行设置。

DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
String[] packages = {
    "com.google.android.gms",

*// Google Play Services*

"com.google.android.apps.chromecast.app"

*// Cast related*

};
dpm.setLockTaskPackages(admin, packages);

请检查并更新这是否适合您。

© www.soinside.com 2019 - 2024. All rights reserved.