Android TV屏保意图

考克拉宁

无法像打开动态壁纸一样打开屏幕保护程序的预览,因此我想为用户提供快捷方式,以打开电视的设置并手动设置屏幕保护程序。

目前,我使用意图操作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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章