相关疑难解决方法(0)

Android:ActivityCompat.requestPermissions 不显示弹出窗口(Android 13,targetSdkVersion=33)

SO 上已经有很多关于这个主题的问题()。然而,到目前为止我找到的答案都不能解决我的问题。

问题是ActivityCompat.requestPermissions不会触发弹出窗口,要求用户授予通知权限。

设置:

  • 在物理设备上测试(Android 13、Pixel 6)
  • 定位 SDK 版本 33 (targetSdkVersion=33)
  • 最小SdkVersion = 29
  • AndroidManifest 拥有权限:<uses-permission android:name="android.permission.POST_NOTIFICATION" />
  • 在 onCreate 中,在其他工作 Activity 中,我执行以下操作:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) == PackageManager.PERMISSION_DENIED)
{
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.POST_NOTIFICATIONS}, 1);
}
Run Code Online (Sandbox Code Playgroud)

回调如下:

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions,int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    switch (requestCode) {
        case 1:
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                Toast.makeText(MainScreenActivity.this, "Woho, you have enabled notifications!", Toast.LENGTH_SHORT).show(); …
Run Code Online (Sandbox Code Playgroud)

notifications android android-permissions

7
推荐指数
1
解决办法
6763
查看次数