gpt4 book ai didi

java - 获取系统设置的当前值并根据需要更改值

转载 作者:太空宇宙 更新时间:2023-11-04 10:14:04 24 4
gpt4 key购买 nike

我对 Android 和 Java 还很陌生,但我正在通过观看教程和提出问题来积极学习。截至目前,我正在通过在 Android Studio 中编写自己的应用程序来练习。我想从更艰难的事情开始。那么,让我向大家解释一下该应用程序的用途。我希望最终产品显示一个用户界面(显然),屏幕中间有一个按钮,上面写着“更改值”。但这对我来说并不是困难的部分。我已经设置了令我满意的用户界面。然而,我正在努力解决的部分是 Java 部分。通过我的研究,我找不到任何与我想要实现的目标相关的内容。

我想要做的是检查位于 Android 设置数据库的全局表(“adb_enabled”)中的字符串的值,如果已启用(“1”),则将其更改为(“0”)。我看过有关如何更改亮度和获取当前时间的指南,但它们对我帮助不大。

这是我的引用代码:

Settings.Global.putInt( getContentResolver() ,
Settings.Global.LOCKSCREEN_AD_ENABLED , 0 );

执行上面的代码时,我收到以下错误:错误:找不到符号变量LOCKSCREEN_AD_ENABLED。有谁知道我该如何解决上述错误?谢谢!

最佳答案

如果您的应用是系统应用,您可以在系统设置中进行更改。非系统应用程序,即安装在数据分区中的应用程序无法修改系统设置。非系统应用只能使用 Intent 或系统 UI 来打开修改设置。

来自官方documentation :

Global system settings, containing preferences that always apply identically to all defined users. Applications can read these but are not allowed to write; like the "Secure" settings, these are for preferences that the user must explicitly modify through the system UI or specialized APIs for those values.

如果您的应用是系统应用,那么您可以使用以下代码进行更改(仅适用于系统应用):

int adb = 0;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) {
adb = Settings.Global.getInt(getApplicationContext().getContentResolver(),
Settings.Global.ADB_ENABLED, 0);
}
// toggle the USB debugging setting
adb = adb == 0 ? 1 : 0;
Settings.Secure.putInt(getApplicationContext().getContentResolver(),
Settings.Secure.ADB_ENABLED, adb);

将以下权限添加到AndroidManifest.xml:

  <uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"></uses-permission>

关于java - 获取系统设置的当前值并根据需要更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51938707/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com