通过 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" />
是否有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" />