You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android13(targetSdk33)POST_NOTIFICATIONS权限弹窗不显示求助

Android 13调用ActivityCompat.requestPermissions无通知权限弹窗问题

试过多种方案均无效,核心问题是调用ActivityCompat.requestPermissions时,请求通知权限的弹窗完全不触发。

环境配置

  • 测试设备:Android 13物理机(三星Galaxy S22、Galaxy A51)
  • targetSdkVersion = 33
  • compileSdkVersion = 33
  • minSdkVersion = 23
  • AndroidManifest已添加权限:<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>

AndroidManifest中Activity声明

<activity android:name=".PostNotificationActivity"
    android:exported="true"
    android:screenOrientation="portrait"/>

按钮点击逻辑代码

if (ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) {
    if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.POST_NOTIFICATIONS)) {
        ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.POST_NOTIFICATIONS),
            POST_NOTIFICATION_PERMISSION_CODE)

    } else {
        ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.POST_NOTIFICATIONS),
            POST_NOTIFICATION_PERMISSION_CODE)
    }
}

权限请求回调代码

override fun onRequestPermissionsResult(
    requestCode: Int,
    permissions: Array<out String>,
    grantResults: IntArray
) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults)

    when(requestCode) {
        POST_NOTIFICATION_PERMISSION_CODE -> {
            if (grantResults.size > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                Toast.makeText(applicationContext, "Permission Granted", Toast.LENGTH_LONG).show()

            } else {
                Toast.makeText(applicationContext, "Permission Denied", Toast.LENGTH_LONG).show()
            }

            return
        }
    }
}

调试排查情况

  • 首次点击按钮:通过调试确认已调用requestPermissions,但设备无权限弹窗,onRequestPermissionsResult未触发
  • 再次点击按钮:仍调用requestPermissions,无弹窗,但onRequestPermissionsResult触发并返回“Permission Denied”,返回上一Activity时出现界面冻结
  • 尝试替换为ActivityResultLauncher实现,问题依旧,无权限弹窗

内容的提问来源于stack exchange,提问作者Shahzore Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 14:05:24