首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SCREEN_BRIGHTNESS_MODE不具有权限。

SCREEN_BRIGHTNESS_MODE不具有权限。
EN

Stack Overflow用户
提问于 2016-08-31 13:53:12
回答 1查看 1.2K关注 0票数 2

在我的应用程序中,我希望更改SCREEN_BRIGHTNESS_MODE (并设置另一个值)。我在AndroidManifest.xml中添加了权限(与文件中的其他参数进行了双重检查)。当按下按钮时,应更改模式的值。

代码语言:javascript
复制
@Override
public void onClick(View v) {
    if(on) {
        ContentResolver cResolver = getContentResolver();
        Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
        Settings.System.putInt(cResolver, Settings.System.SCREEN_BRIGHTNESS, 50);
    }
}

AndroidManifest.xml:

代码语言:javascript
复制
    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
    <activity
        android:name=".FullscreenActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/app_name"
        android:screenOrientation="landscape"
        android:theme="@style/FullscreenTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

安卓设备是一款逻辑仪器- Fieldbook F1安卓版本5.0.1

当我尝试执行这个命令时,我得到了以下异常:

代码语言:javascript
复制
08-31 15:29:28.471 16613-16613/com.matodayu.oxo E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.matodayu.oxo, PID: 16613 java.lang.SecurityException: Permission denial: writing to settings requires android.permission.WRITE_SETTINGS
        at android.os.Parcel.readException(Parcel.java:1540)
        at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:190)
        at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142)
        at android.content.ContentProviderProxy.call(ContentProviderNative.java:643)
        at android.provider.Settings$NameValueCache.putStringForUser(Settings.java:1094)
        at android.provider.Settings$System.putStringForUser(Settings.java:1371)
        at android.provider.Settings$System.putIntForUser(Settings.java:1476)
        at android.provider.Settings$System.putInt(Settings.java:1470)
        at com.matodayu.oxo.FullscreenActivity$4$1.run(FullscreenActivity.java:184)
        at android.app.Activity.runOnUiThread(Activity.java:5285)
        at com.matodayu.oxo.FullscreenActivity$4.onClick(FullscreenActivity.java:179)
        at android.view.View.performClick(View.java:4809)
        at android.view.View$PerformClick.run(View.java:20123)
        at android.os.Handler.handleCallback(Handler.java:815)
        at android.os.Handler.dispatchMessage(Handler.java:104)
        at android.os.Looper.loop(Looper.java:194)
        at android.app.ActivityThread.main(ActivityThread.java:5534)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:955)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:750)

有谁可以帮我?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-01 14:21:30

你在哪里定义了你的权限?在清单或应用程序标签内?

我做了一个测试项目,它起作用了。当我在错误的位置(例如,应用程序标记)中添加权限时,它就失败了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39251596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档