Android Studio POST_NOTIFICATIONS请求不起作用,对话框未显示

yshpjwxd  于 2023-11-21  发布在  Android
关注(0)|答案(2)|浏览(355)

在清单中:

  1. <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>

字符串
活动中:

  1. if (Build.VERSION.SDK_INT >= 33) {
  2. if (ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) {
  3. ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.POST_NOTIFICATIONS},1);
  4. }
  5. else {
  6. //
  7. }
  8. }


在build.gradle文件中,targetSdkVersion为34
我还有其他权限请求,如相机、位置和麦克风,所有这些都可以正常工作,但POST NOTIFICATIONS请求不行。请求用户允许它的对话框没有出现。
只有当我在设置->应用程序->权限->允许权限中手动激活它们时,通知才会起作用
不知道是什么问题!哦,我知道这个android开发人员资源

1yjd4xko

1yjd4xko1#

我试过你的代码,它对我来说很好:
有几件事你可以重新检查:
1.确保您使用的模拟器/设备高于33
1.你的清单应该是android的。清单
您还可以在此answer中查看更多信息

r9f1avp5

r9f1avp52#

我通过将Manifest.permission.POST_NOTIFICATIONS与其他文件进行分组来实现它:

  1. private void checkAllPermissions() {
  2. int Permission_All = 1;
  3. String[] Permissions = {Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE,
  4. Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.ACCESS_FINE_LOCATION,
  5. Manifest.permission.RECORD_AUDIO, Manifest.permission.INTERNET, Manifest.permission.FOREGROUND_SERVICE,
  6. Manifest.permission.WAKE_LOCK, Manifest.permission.DISABLE_KEYGUARD,
  7. Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.POST_NOTIFICATIONS};
  8. if (!hasPermissions(this, Permissions)) {
  9. ActivityCompat.requestPermissions(this,Permissions, Permission_All);
  10. }
  11. }
  12. public static boolean hasPermissions(Context context, String... permissions) {
  13. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context != null && permissions != null) {
  14. for (String permission : permissions) {
  15. if (ActivityCompat.checkSelfPermission(context,permission) != PackageManager.PERMISSION_GRANTED) {
  16. return false;
  17. }
  18. }
  19. }
  20. return true;
  21. }

字符串
上面的代码可以用!!但是不知道为什么在前面的独立代码中没有。我甚至添加了吐司和日志行来检查是否满足IF条件,除了它没有请求POST_NOTIFICATION权限之外,一切似乎都很好。

展开查看全部

相关问题