java - 运行时权限不适用于 API 级别 28

标签 java android android-permissions runtime-permissions

我正在使用此代码请求 CALL_PHONE 的许可,它在 api 级别 28 以下工作,但不能在该级别以上工作。在 api 级别 28 以下,如果未授予权限,它会显示授予权限的对话框,但在 28 以上,不会弹出任何对话框,我只收到 toast 消息。

if (ContextCompat.checkSelfPermission(ProcessingCallActivity.this, Manifest.permission.CALL_PHONE)
                                        != PackageManager.PERMISSION_GRANTED) {
                                    // Permission is not granted
                                    finish();
                                    ActivityCompat.requestPermissions( ProcessingCallActivity.this, new String[]{Manifest.permission.CALL_PHONE},REQUEST_PHONE_CALL);
                                    Toast.makeText(ProcessingCallActivity.this, "Call permission needed", Toast.LENGTH_SHORT).show();
                                }

最佳答案

在 list 中添加以下权限

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

删除 finish() 语句

关于java - 运行时权限不适用于 API 级别 28,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56911943/

相关文章:

Android ItemizedOverlay<OverlayItem> 问题

Android GCM IntentService 循环 "doing some work"?

android - 我们如何列出所有定义的权限?

android - 定位android O(26)8.0后如何读取+写入外部存储

java - 按钮布局较高

java - 在文件夹和子文件夹中的文件上运行Mapreduce

java - 从二进制文件读取返回 -1 而不抛出 EOFException

java - Netty - 其他握手管道?

java - 通知 Activity 类

android - React Native Expo 应用程序在 Play 管理中心错误地列出了详细信息