Java 在android中以编程方式设置“接通电源时保持清醒”选项

Java 在android中以编程方式设置“接通电源时保持清醒”选项,java,android,Java,Android,我试图通过编程方式在Android设置中的开发者选项下设置“保持清醒”复选框 我正在使用以下代码 Settings.Global.putInt(this.getContentResolver(),Settings.Global.STAY_ON_WHILE_PLUGGED_IN, 0); 我在清单文件中添加了以下两个权限 <uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-per

我试图通过编程方式在Android设置中的开发者选项下设置“保持清醒”复选框

我正在使用以下代码

Settings.Global.putInt(this.getContentResolver(),Settings.Global.STAY_ON_WHILE_PLUGGED_IN, 0);  
我在清单文件中添加了以下两个权限

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

我使用安卓4.2.2在eclipse中编译项目,然后在我的平板电脑上运行,平板电脑上有安卓4.1.2

当我运行apk崩溃时,我在Logcat中看到这个异常

E/AndroidRuntime(6596):java.lang.NoClassDefFoundError: android.provider.Settings$Global


有什么建议出了什么问题或如何实现上述功能?非常感谢

好的,我刚刚找到了答案。我在Android 4.2.2中编译设置。全局,但在实际设备上是4.1.2,看起来Android只是在api级别16之后从系统插入到全局时移动了停留。所以系统将在API级别16下工作,但Global将在之后工作

以下是总结。希望这对别人有帮助

if (currentapiVersion <= 16)
{
    Settings.System.putInt(this.getContentResolver(),Settings.System.STAY_ON_WHILE_PLUGGED_IN, BatteryManager.BATTERY_PLUGGED_USB);
}
else
{   
  Settings.Global.putInt(this.getContentResolver(),Settings.Global.STAY_ON_WHILE_PLUGGED_IN, BatteryManager.BATTERY_PLUGGED_USB);
}

if(currentapiVersion@Blacklight他使用的正是那个问题的答案,它不起作用。它不是重复的。上面的线程没有提到类未找到异常加上问题有一个拼写错误,因为它没有使用设置。全局它使用的是Settings.System。但是我已经使用了正确的方法,即Settings.GlobalAlright,很抱歉!没问题@Blacklight。它们看起来确实很相似,足以引起混淆。