权限检查SET_ALARM总是返回PERMISSION_DENIED而不询问用户在Android Studio中的权限,Kotlin
我正在尝试使用Kotlin
在Android Studio中为我的应用设置闹钟。 但是,运行alarmManager.setRepeating(...)
不起作用, alarmManager.nextAlarmClock
返回null。 我发现,当我试图检查SET_ALARM
权限时,我得到了PERMISSION_DENIED
(-1),即使我已经指定在清单中使用它。 ActivityCompat.requestPermission
不会打开警报,因此用户无法授予权限。 我怎样才能让我的应用程序允许SET_ALARM
? 代码如下:
val permissionCheck = ContextCompat.checkSelfPermission(this, android.Manifest.permission.SET_ALARM) if(permissionCheck != PackageManager.PERMISSION_GRANTED) { Log.d("Notification", "Permission not granted earlier, permission: $permissionCheck") ActivityCompat.requestPermissions(this, arrayOf<String>(android.Manifest.permission.SET_ALARM),1) } else { Log.d("Notification", "Permission was already granted") } val calendar = Calendar.getInstance() calendar.set(Calendar.HOUR_OF_DAY, hour) calendar.set(Calendar.MINUTE, minute) calendar.set(Calendar.SECOND, 0) val intent = Intent(this, NotificationReceiver::class.java) val pendingIntent = PendingIntent.getBroadcast(this,Values.ALARM_REQUEST_CODE, intent, PendingIntent.FLAG_UPDATE_CURRENT) val alarmManager = this.getSystemService(Context.ALARM_SERVICE) as AlarmManager alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.timeInMillis, AlarmManager.INTERVAL_DAY, pendingIntent) Log.d("Norif", "Notifications set: ${alarmManager.nextAlarmClock}")
和清单:
<uses-permission android:name="android.permission.SET_ALARM"/> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <application> <receiver android:name="NotificationReceiver"> <intent-filter> <action android:name="com.tester.alarmmanager"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </receiver> </application>
- 将Cordova项目导入到Android Studio
- Android Studio 3.1 canary 8不能停在Junit测试的断点处
- 当前选择的Java调试器不支持“Kotlin Line Breakpoints”类型的断点
- Kotlin:声明一个Activity静态的子类
- Android Studio 3.0.1错误:Gradle项目同步失败。 基本function(如编辑,调试)将无法正常工作
- 如何在Android Studio 3.0 beta 5中创建一个Android项目?
- 在kotlin的片段
- Android的工作室2.3总是挂出
- Android Studio 3.0 Kotlin的变化并没有体现在构建中