在清单中:
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
字符串
活动中:
if (Build.VERSION.SDK_INT >= 33) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.POST_NOTIFICATIONS},1);
}
else {
//
}
}
型
在build.gradle文件中,targetSdkVersion为34
我还有其他权限请求,如相机、位置和麦克风,所有这些都可以正常工作,但POST NOTIFICATIONS请求不行。请求用户允许它的对话框没有出现。
只有当我在设置->应用程序->权限->允许权限中手动激活它们时,通知才会起作用
不知道是什么问题!哦,我知道这个android开发人员资源
2条答案
按热度按时间1yjd4xko1#
我试过你的代码,它对我来说很好:
有几件事你可以重新检查:
1.确保您使用的模拟器/设备高于33
1.你的清单应该是android的。清单
您还可以在此answer中查看更多信息
r9f1avp52#
我通过将Manifest.permission.POST_NOTIFICATIONS与其他文件进行分组来实现它:
字符串
上面的代码可以用!!但是不知道为什么在前面的独立代码中没有。我甚至添加了吐司和日志行来检查是否满足IF条件,除了它没有请求POST_NOTIFICATION权限之外,一切似乎都很好。