无法像打开动态壁纸一样打开屏幕保护程序的预览,因此我想为用户提供快捷方式,以打开电视的设置并手动设置屏幕保护程序。
目前,我使用意图操作android.settings.SETTINGS
来打开系统设置,这会打开根设备设置。
在手机上我就可以开始android.settings.DREAM_SETTINGS
(它的文档中描述了这里),这将打开相应的设置部分。但这在电视上不起作用(在模拟器上尝试)。是否可以在Android TV上打开它?
我找到了一种在“空中梦想”屏幕保护程序的源代码中启动此活动的方法:https : //github.com/cachapa/AerialDream/blob/master/app/src/main/java/com/codingbuffalo/aerialdream /SettingsFragment.java#L29
// Check if the daydream intent is available - some devices (e.g. NVidia Shield) do not support it
Intent intent = new Intent(SCREENSAVER_SETTINGS);
if (!intentAvailable(intent)) {
// Try opening the daydream settings activity directly: https://gist.github.com/reines/bc798a2cb539f51877bb279125092104
intent = new Intent(Intent.ACTION_MAIN).setClassName("com.android.tv.settings", "com.android.tv.settings.device.display.daydream.DaydreamActivity");
if (!intentAvailable(intent)) {
// If all else fails, open the normal settings screen
intent = new Intent(SETTINGS);
}
}
startActivity(intent);
private boolean intentAvailable(Intent intent) {
PackageManager manager = getActivity().getPackageManager();
List<ResolveInfo> infos = manager.queryIntentActivities(intent, 0);
return !infos.isEmpty();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句