我必须通过代码打开设备底座设置。我搜索但没有得到适当的解决方案。在三星Galaxy s-3中,它通过设置 - >附件。我尝试了以下代码,但没有工作
startActivityForResult(new Intent(Settings.System.getString(getContentResolver(), DOCK_SETTING)), 0);
答案 0 :(得分:4)
如果我错了,请纠正我,但我相信这不起作用的原因(以及为什么你无法在Android Settings中找到合适的活动动作),因为附件似乎由三星为其Galaxy设备提供。因此,您将无法在标准Android SDK中找到它(但是?)。
我目前正在尝试找出解决方法,因此如果找到解决方案,我会编辑此帖子。
编辑:看起来JoxTraex找到了一种方法来编辑设置:
Settings.System.putInt(getContentResolver(), "dock_sounds_enabled", 1);
此外,如果您需要在用户停靠设备时修改这些设置,则应创建BroadcastReceiver以收听ACTION_DOCK_EVENT广播。
答案 1 :(得分:1)
我能够通过查看设置并以编程方式配置设置来实现此目的:
android.provider.Settings.System.putInt(getContentResolver(), "dock_sounds_enabled", 1);
您需要获得许可:
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
上面的代码将写入启用samsung s3上的扩音设置的设置。 然而; 而不是仅仅写它,你应该告诉用户该设置已被禁用,你需要启用它,并允许用户确认他们想通过对话框启用它。
另一方面,我认为不可能直接进入settings-&gt;附件屏幕,因为它是三星添加的自定义设置。此操作在Android SDK中提供不,因此需要一段时间才能获得实际操作或即使它存在。
如果你想确认它只是查询它:
String where = "name = 'dock_sounds_enabled'";
Cursor c = getContentResolver().query(android.provider.Settings.System.CONTENT_URI, null, where, null, null);
如何处理对话框配置停靠设置的响应的步骤:
抓取设置..如果为0,则打开对话框启用它,否则继续处理
对话框启动后,用户确认要启用它:
确认:将1放入停靠栏声音,然后关闭对话框