我的应用已将<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.
答案 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。