我正在尝试在Android电视盒上打开网络设置,但使用的是leanback设置界面,而不是移动设备界面。 Android电视盒(nexbox)正在使用AndroidTV启动器。
目前我执行
startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
由于
答案 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));
}