【发布时间】:2016-10-14 21:55:07
【问题描述】:
有没有Intent会激活Google CastApp的屏幕镜像功能?
我需要使用此功能,我希望尽可能简化它的激活。
【问题讨论】:
标签: android google-cast
有没有Intent会激活Google CastApp的屏幕镜像功能?
我需要使用此功能,我希望尽可能简化它的激活。
【问题讨论】:
标签: android google-cast
不,用户必须激活该功能。如果您想将自己的应用内容镜像到 Cast 设备,请使用 Google Cast Remote Display API。
【讨论】:
如果您有兴趣开发用于屏幕镜像的远程显示应用程序,可以使用库 castscreen,它将过程减少到几行代码。
不幸的是,没有办法像 Google Cast 应用程序那样简化流程:它们使用 READ_FRAME_BUFFER 清单权限来获取用户的屏幕内容,而第三方应用程序必须明确要求用户获得屏幕捕获权限(出于明确的安全原因)。如果您使用与应用程序相同的私钥签署了自己的 ROM,则可以使用 READ_FRAME_BUFFER,尽管这对于大多数用例来说是不切实际的。
【讨论】:
这是一种实现镜像投射(不是谷歌投射)的简单方法。
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" />
【讨论】: