通过 Intent 激活屏幕投射

Activating screen cast by Intent

是否有Intent可以激活Google Cast App的屏幕镜像功能?

我需要使用这个功能,我想尽可能简化它的激活。

否,用户必须激活该功能。如果您想将自己的应用程序内容镜像到 Cast 设备,请使用 Google Cast Remote Display API。

如果您有兴趣开发用于屏幕镜像的 Remote Display 应用程序,可以使用库 castscreen,它将过程减少到几行代码。

不幸的是,没有办法像 Google Cast 应用程序那样简化流程:他们使用 READ_FRAME_BUFFER 清单权限来获取用户的屏幕内容,而第三方应用程序必须明确要求用户提供屏幕捕获权限(出于明确的安全原因)。如果您使用与应用程序相同的私钥签署自己的 ROM,则可以使用 READ_FRAME_BUFFER,尽管这对于大多数用例来说是不切实际的。

这是实现镜像投射(不是google投射)的简单方法。

try {
        startActivity(new Intent("android.settings.WIFI_DISPLAY_SETTINGS"));
    } catch (ActivityNotFoundException e) {
        e.printStackTrace();
        try {
            startActivity(new Intent("com.samsung.wfd.LAUNCH_WFD_PICKER_DLG"));
        } catch (Exception e2) {
            try {
                startActivity(new Intent("android.settings.CAST_SETTINGS"));
            } catch (Exception e3) {
                Toast.makeText(getApplicationContext(), "Device not supported", Toast.LENGTH_LONG).show();
            }
        }
    } 

具有这些权限:

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />