Intent Action_dial 在 android 11 中不起作用

2023-12-13

我目前正在开发一个 Android 应用程序,需要一个启动电话的功能,所以我添加了这段代码。

 public void dialPhoneNumber(String phoneNumber) {
        Intent intent = new Intent(Intent.ACTION_DIAL);
            intent.setData(Uri.parse("tel:" + phoneNumber));
            if (intent.resolveActivity(getPackageManager()) != null) {
                startActivity(intent);
            }
        }

..它似乎在较旧的 Android 版本中完美运行,但是当我在 Android 11 中测试它时,它根本不起作用我尝试过action_call并添加了权限<uses-permission android:name="android.permission.CALL_PHONE" />还是不行。


你的问题出在代码行intent.resolveActivity(getPackageManager())。当您调用resolveActivity时,您将收到如下警告:

调用此方法时,请考虑在清单中添加声明;看https://g.co/dev/packagevisibility欲了解详情

检查下面的文档包管理器,你会看到这个注释:

注意:如果您的应用面向 Android 11(API 级别 30)或更高版本,则此类中的每个方法都会返回经过筛选的应用列表。详细了解如何管理包可见性。

那么这意味着什么呢?

在 Android 11 中,Google 添加了包可见性策略。应用程序现在可以更严格地控​​制查看其他应用程序。您的应用程序将无法查看或访问您的应用程序之外的应用程序。

你需要做什么?

您需要做的就是添加以下代码行AndroidManifest.xml:

<manifest>
    <queries>
        <!-- Specific intents you query for -->
        <intent>
            <action android:name="android.intent.action.DIAL" />
        </intent>
    </queries>
</manifest>

更多信息:

  1. Android 11 中的包可见性
  2. Android 上的包可见性过滤
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Intent Action_dial 在 android 11 中不起作用 的相关文章

随机推荐

  • 从 Windows Phone 8 中的我的应用程序访问用户的 Microsoft 帐户电子邮件 ID

    我正在寻找用于 wp8 中的市场的用户的电子邮件 ID 电子邮件地址选择器的任务只是获取联系人的电子邮件地址 而不是从手机邮件帐户中设置的用户邮件 ID 中获取 出于隐私考虑 无法检索帐户 ID 如果您只想识别用户可以使用UserExten
  • 术语列表的术语扩展

    假设我想要有许多遵循相同模式的规则 当我想通过显式列出所有可能的第一个参数来避免不确定性行为时 我遇到了这种情况 然而 我知道我需要对某些可能性做同样的事情 解决这个问题的一种方法是在末尾添加一个包罗万象的子句 foo a do somet
  • 运行 docker run 时出现错误:来自守护进程的错误响应

    运行 docker 命令时出现错误 我已经在 Google Cloud VM 中成功安装了 Docker 我已经安装了 Ubuntu 18 04 映像 安装后运行 docker run 时出现以下错误 docker Error respon
  • Java Graphics2D 转换和缩放

    我有个问题 我希望能够放大我的Graphics2D使用鼠标滚轮屏幕 但我希望能够翻译Graphics2D这样它就位于我缩放的位置 到目前为止发生的事情是这样的 http cdn makeagif com media 6 11 2015 E0
  • 在 Android Phonegap 中手动暂停应用程序

    是否可以手动暂停 Android PhoneGap 应用程序 当有人单击按钮时 我需要暂停应用程序并转到后台 我用了navigator app exitApp 但它完全关闭了应用程序 我不想关闭应用程序 只是像使用本机后退按钮一样卸载 请帮
  • requests.get() 404 响应后未捕获 requests.HTTPError

    我的请求库有一个小问题 举例来说 我在 Python 中有这样的语句 try request requests get google com admin Should return 404 except requests HTTPError
  • 如何使用汇编中的所有其他指令来实现 MUL?

    假设我已经在汇编机中实现了所有 ADD AND SHF JUMP BR LDW LDB 加载字加载字节 除了 MUL 多个 指令 现在我想编写汇编代码来操作MUL指令 该指令接收存储在0x4000 a 和0x4001 b 每个8位 中的数据
  • 当参数是 String 和 RegExp 类时,Angular 2 表单验证器中的 RegEx 会产生不同的结果

    我正在尝试使用 Angular 2 表单验证器和我放入的正则表达式来验证基本表单元素Validators pattern 匹配有效的 URL 就是匹配当参数是字符串数据类型时理论上无效的模式 example component ts thi
  • 如何检查可选功能参数是否设置

    Python 中是否有一种简单的方法来检查可选参数的值是否来自其默认值 或者是因为用户在函数调用时显式设置了它 并不真地 标准方法是使用用户不希望传递的默认值 例如一个object实例 DEFAULT object def foo para
  • C# 中的命名约定 [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 C 普遍接受的命名约定是什么 函数 类 参数 局部变量 命名空间等 微软有一个优秀的班级图书馆设计指南集 包括一个命名部分 简而言之 括号中的示例 类 结构 PascalCase WebR
  • 如何从 Matlab 命令提示符关闭一个或所有当前打开的 Matlab (*.m) 文件?

    我在网上找到了一个解决方案 见下文 大约 2009 年 该解决方案在我的机器 Windows 7 Matlab R2013a 上不起作用 Editor com mathworks mlservices MLEditorServices Ed
  • 如何使用 iTextSharp 打印网格视图

    如何在 asp net 中使用 iTextSharp 打印 GridView 数据 全部 我只需要一个提示而不是完整的代码 尝试用这个 protected void ExportToPDF GridView gvReport bool La
  • 通过循环添加 JPanel

    成功了 感谢你们 代码如下 我用了BoxLayout因为我认为这对于将问题一个一个地堆叠起来是理想的 但现在我遇到了布局问题 当我堆叠几个问题时 问题面板开始重叠 有什么想法吗 panels1 new MultipleChoice 5 se
  • 在 erb 模板中禁用 HTML 转义

    在 Rails 3 应用程序中 我有一个域类 其中一个属性存储纯 HTML 内容 它是一个博客应用程序 域类是 Post 在 ERB 模板中 我需要显示格式化后的属性内容 并放置 HTML 标签 但是 Rails 正在转义所有 HTML 标
  • 是否有受支持的方法来获取 H2O 模型在训练期间使用的功能列表?

    这就是我的情况 我有 400 多个特征 其中许多可能无用 而且通常为零 我希望能够 使用这些特征的子集训练模型 查询该模型以获取实际用于构建该模型的功能 构建一个仅包含这些特征的 H2OFrame 我为我想要预测的每一行得到一个稀疏的非零值
  • 如何在 Wp7 应用程序中处理 Web 浏览器后退和前进导航

    我在 Windows Phone 7 应用程序中使用网络浏览器 我只想知道如何像任何桌面浏览器一样处理其后退和前进导航 以及如何阻止特定导航 我提到here和许多其他人 但找不到任何对我有用的东西 请帮忙 您可以通过处理 OnNavigat
  • InsertMenu/AppendMenu - 如何使用 C++ 和 win32 将图标添加到菜单和子菜单

    我使用 C 和 win32 编程编写了一个 shell 扩展 dll 上下文菜单程序 开发环境是Visual Studio 2008和2010 在下面的示例代码中 我尝试仅为主菜单添加菜单图标 主菜单不显示菜单图标 我需要为所有菜单项添加图
  • 将 ajax 结果存储在 jQuery 变量中

    我开始使用 jQuery 和 ajax 从数据库获取数据 但我不知道如何将 get 的结果保存到回调函数外部的变量中 这是我的 jquery 脚本 var result get test php function data result d
  • AKAudioPlayer:扬声器没有声音,只有耳机有声音

    使用 AudioKit 进行声音管理 我注意到这段非常简单的代码存在问题 错误 import AudioKit class MainViewController UIViewController var audioFile AKAudioF
  • Intent Action_dial 在 android 11 中不起作用

    我目前正在开发一个 Android 应用程序 需要一个启动电话的功能 所以我添加了这段代码 public void dialPhoneNumber String phoneNumber Intent intent new Intent In