无法在Android 8 Oreo上获得WAKE_LOCK权限

时间:2018-06-21 15:45:51

标签: android permissions

我的应用已将<uses-permission android:name="android.permission.WAKE_LOCK" />添加到AndroidManifest.xml。但是,获取锁PowerManager.PARTIAL_WAKE_LOCK的调用会使应用程序在Oreo设备上崩溃。

    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapplication/com.example.myapplication.MainActivity}: java.lang.SecurityException: Neither user 10094 nor current process has android.permission.WAKE_LOCK.

1 个答案:

答案 0 :(得分:14)

您的应用可能正在使用ACRA库的新版本。在新版本中,他们将<uses-permission android:name="android.permission.WAKE_LOCK" android:maxSdkVersion="25" />添加到了lib AndroidManifest.xml文件中。 android:maxSdkVersion="25"被静默合并到主应用程序AndroidManifest.xml文件中,因此该应用程序在Oreo设备上没有WAKE_LOCK权限。解决方案是将tools:node="replace"添加到您的使用许可声明中。

例如<uses-permission android:name="android.permission.WAKE_LOCK" tools:node="replace" />

更新:在最新版本的ACRA库中,不幸的“功能”为removed