如何在AndroidTV盒子上打开Leanback Settings屏幕?

时间:2017-11-11 13:28:02

标签: android android-tv leanback

我正在尝试在Android电视盒上打开网络设置,但使用的是leanback设置界面,而不是移动设备界面。 Android电视盒(nexbox)正在使用AndroidTV启动器。

目前我执行

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);

显示此屏幕: enter image description here

但是我想打开它看起来像那样: enter image description here

由于

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我到目前为止唯一的解决方案是直接调用Android电视设置应用程序(最好找到专用的意图,但到目前为止我什么也没找到)

val LaunchIntent = packageManager.getLaunchIntentForPackage("com.android.tv.settings")
startActivity(LaunchIntent)

为了安全起见,您可以捕获RuntimeException并在未找到包时启动默认设置:

try {
    val LaunchIntent = packageManager.getLaunchIntentForPackage("com.android.tv.settings")
    startActivity(LaunchIntent)
}catch(e:RuntimeException){
    startActivity(Intent(Settings.ACTION_SETTINGS))
}

注意:此代码是用Kotlin编写的,但用Java转换非常简单

答案 1 :(得分:0)

这有效:

try {
                    ComponentName name = new ComponentName("com.android.tv.settings",
                            "com.android.tv.settings.connectivity.NetworkActivity");
                    Intent i=new Intent(Intent.ACTION_MAIN);

                    i.addCategory(Intent.CATEGORY_LAUNCHER);
                    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
                            Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
                    i.setComponent(name);

                    startActivity(i);

                }catch(Exception e){
                    Timber.e(e);
                    startActivity(new Intent(Settings.ACTION_SETTINGS));
                }