意图自定义权限不起作用

2023-12-14

UPDATE

我迫在眉睫的问题按照我下面的回答得到了解决。我的环境(PC + 设备)不允许在 DEBUG 版本中自定义权限。

我确信几周前我能够正常运行 DEBUG 构建 - 因此描述了“间歇性”错误。

UPDATE 2

代码在不同开发人员的机器上同步,通过 Eclipse 在调试模式下在他的设备上运行良好。在我的设备上,它无法在他的机器上运行。

另外,我的机器上的调试版本在其他设备上运行良好。

这让我怀疑我的设备是否出了问题?


我有间歇性“拒绝许可”自定义权限问题Intents。这是代码在生产中并且可以工作的代码之一,但有时在进行新构建时,它会停止工作。我之前只能靠运气修复它,通过重新启动(设备和电脑)、清理项目、卸载/重新安装、重复等过程......这是不可接受的。

据我所知,我正在为我的自定义权限做所有正确的事情Intents我正在我的应用程序中广播。但 logcat 给了我常见的错误:

  • W/BroadcastQueue( 389):权限拒绝:来自 com.test (pid=22030,uid=10002) 的广播 Intent { act=A_ACTION flg=0x10 } 由于已注册接收器而需要 A_PERMISSION 广播过滤器{43918d50 u0 ReceiverList{4391cad8 22030 com.test/10002/u0远程:430576d0}}

在 4.2.1 (Galaxy Nexus) 和 4.2.2 (Nexus 7) 上,或

  • W/ActivityManager( 2002):权限拒绝:接收 Intent { act=A_ACTION flg=0x10 } 到 ProcessRecord{41a12748 31496:com.test/10115} (pid=31496,uid=10115) 需要 A_PERMISSION,因为发送者 com.test ( uid 10115)

在 4.0 (S2) 和 2.3.3 (三星 Ace) 上。

即标准误差。


我的清单说:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test"
    android:versionCode="1"
    android:versionName="4.10.0.3" >

    <permission
        android:name="A_PERMISSION"
        android:description="@string/broadcast_permission_desc"
        android:label="@string/broadcast_permission_label"
        android:permissionGroup="@string/broadcast_permission_group"
        android:protectionLevel="signature" />

    <uses-permission android:name="A_PERMISSION" />

    etc.....

这些字符串定义为(fwiw):

<string name="broadcast_permission_label">Private Broadcast</string>
<string name="broadcast_permission_desc">This permission allows the necessary components of the application to receive private broadcasts that are sent within the application.</string>
<string name="broadcast_permission_name">A_PERMISSION</string>
<string name="broadcast_permission_group">A_GROUP</string>

我的基本 APPLICATION 子类中有一个方法用于进行广播:

public void sendBroadcast(Intent i)
{
    // hardcoded custom permission
    super.sendBroadcast(i, "A_PERMISSION");
}

我注册我的BroadcastReceiver从一个内Fragment像这样:

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    // hardcoded custom permission
    MyApp.getInstance().registerReceiver(myReceiver, myFilter,
        "A_PERMISSION", null);
}

我不高兴地检查了以下相关问题:

  • Android 权限拒绝:广播 Intent
  • Android中如何使用自定义权限?
  • 如何在android中声明用户定义的权限

我认为这涵盖了该网站上的类似问题。

我的问题是它是间歇性的,但浪费了大量时间,即有些构建在所有手机上都可以工作,有些构建在所有手机上都失败。

我想知道这是否是某个框架(Android 操作系统,或者 Eclipse/Android SDK)中的问题。不幸的是,我的谷歌搜索只能让我找到更常见的问题和常见的解决方案。


最终解决方案 - 我同意这似乎没有意义,但它是:

我有 2 个应用程序使用相同的权限 -com.test and com.runtest.

如上,com.test因 DEBUG 构建而被破坏。但我注意到com.runtest还在工作。


Steps:

  1. 已安装com.runtest确认它正在工作
  2. 从我的设备上卸载了这两个应用程序
  3. renamed com.runtest to com.test- 在 Eclipse 中(Android 工具... 重命名应用程序包)
  4. 在我的设备上的 Eclipse 中调试了这个重命名的应用程序 - 它有效
  5. 删除了这个,改名为“假”com.test
  6. 调试了原来的com.test我的设备上 Eclipse 中的应用程序 - 它 终于成功了!

因此,出于某种原因,用工作应用程序覆盖损坏的应用程序改变了一些东西,并修复了我的设备。

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

意图自定义权限不起作用 的相关文章

  • 如何快速自动发送FCM或APNS消息?

    我正在开发一项后端服务 通过 FCM 或 APNS 向移动应用程序发送推送通知 我想创建一个可以在一分钟内运行的自动化测试 并验证服务器是否可以成功发送通知 请注意 我不一定需要检查通知是否已送达 只需检查 FCM 或 APNS 是否已成功
  • Sqlite数据库生命周期?关闭应用程序后它会被删除吗?

    我正在遵循一个简单的教程 该教程创建一个从 SQLiteOpenHelper 扩展的类 并创建一个包含一个表和 5 行的数据库 好的 但我需要更多地了解 android Sqlite 数据库 例如 如果应用程序关闭或手机关机会发生什么 数据
  • Android 后退按钮无法与 Flutter 选项卡内的导航器配合使用

    我需要在每个选项卡内有一个导航器 因此当我推送新的小部件时 选项卡栏会保留在屏幕上 代码运行得很好 但是 android 后退按钮正在关闭应用程序而不是运行 Navigator pop import package flutter mate
  • 如何以编程方式检查 AndroidManifest.xml 中是否声明了服务?

    我正在编写一个库 该库提供了一项服务 其他开发人员可以通过将其包含在他们的项目中来使用该服务 因此 我无法控制 AndroidManifest xml 我在文档中解释了要做什么 但一个常见的问题是人们忽略了将适当的 标记添加到其清单中 或者
  • 计数物体和更好的填充孔的方法

    我是 OpenCV 新手 正在尝试计算物体的数量在图像中 我在使用 MATLAB 图像处理工具箱之前已经完成了此操作 并在 OpenCV Android 中也采用了相同的方法 第一步是将图像转换为灰度 然后对其进行阈值计算 然后计算斑点的数
  • Android 模拟器插件无法初始化后端 EGL 显示

    我在 Cloudbees 上设置了 Jenkins 作业 并且可以在那里成功签出并编译我的 Android 项目 现在我想在 android 模拟器中运行一些 JUnit 测试并添加 Android 模拟器插件 我将 显示模拟器窗口 选项设
  • Android 中 Kotlin 协程的正确使用方式

    我正在尝试使用异步更新适配器内的列表 我可以看到有太多的样板 这是使用 Kotlin 协程的正确方法吗 这个可以进一步优化吗 fun loadListOfMediaInAsync async CommonPool try Long runn
  • CollapsingToolBarLayout - 状态栏稀松布颜色不改变

    几天前我更新了我的 android studio 并开始使用 CoordinatorLayout 和 CollapsingToolbarLayout 只是尝试一些东西 工具栏稀松布颜色似乎覆盖了状态栏初始颜色和状态栏稀松布颜色 从 xml
  • 是否必须删除 Intent extra?

    这可能是一个愚蠢的问题 但是是否有一条规则规定消费活动必须显式删除 Intent 额外内容 或者只有在回收 Intent 对象时才如此 换句话说 如果我总是通过执行以下操作来链接到下一个活动 Intent i new Intent MyCu
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • 是否有 ADB 命令来检查媒体是否正在播放

    我想使用 ADB 命令检查根植于终端的外部设备中是否正在播放音频 视频 我无法找到任何 ADB 命令 如果有 我尝试过 adb shell dumpsys media player 我想要一个命令来指定视频是否正在运行 您可以使用以下命令查
  • 在gradle插件中获取应用程序变体的包名称

    我正在构建一个 gradle 插件 为每个应用程序变体添加一个新任务 此新任务需要应用程序变体的包名称 这是我当前的代码 它停止使用最新版本的 android gradle 插件 private String getPackageName
  • 如何使用InputConnectionWrapper?

    我有一个EditText 现在我想获取用户对此所做的所有更改EditText并在手动将它们插入之前使用它们EditText 我不希望用户直接更改中的文本EditText 这只能由我的代码完成 例如通过使用replace or setText
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • 错误:在根项目“projectName”中找不到项目“app”

    我有一个在 Eclipse 中开发的旧应用程序 现在尝试将其迁移到 Android Studio 我更新了库并遵循了基本步骤 现在 我收到此错误 Error Project app not found in root project pro
  • 我的设备突然没有显示在“Android 设备选择器”中

    我正在使用我的三星 Galaxy3 设备来测试过去两个月的应用程序 它运行良好 但从今天早上开始 当我将设备连接到系统时 它突然没有显示在 Android 设备选择器 窗口中 我检查过 USB 调试模式仅在我的设备中处于选中状态 谁能猜出问
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 在activity_main.xml中注释

    我是安卓新手 据我所知 XML 中的注释与 HTML 中的注释相同 使用 形式 我想在 Android 项目的 Activity main xml 配置文件中写一些注释 但它给了我错误 值得注意的是 我使用的是 Eclipse 但目前 我直
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591

随机推荐

  • 使用 EPPlus 将图像添加到 Excel 中

    我正在尝试使用 EPPlus 将同一图像多次添加到 Excel 文件中 我正在使用以下代码来执行此操作 Image logo Image FromFile path ExcelPackage package new ExcelPackage
  • 如何在Excel中对日期进行排序而不重复

    早上好 我有一个关于 Excel 中日期排名的问题 请参见下图 在排名栏中 我用了公式 RANK A3 A A 1 但这不是我想要的 我只希望相同的日期共享与我的目标格式列中显示的相同的排名 谁能告诉我应该应用什么公式来实现这个目标 非常感
  • 蚂蚁为其他蚂蚁服务

    我有几个项目 其中大多数都有 test 目标 运行测试并将结果存储在属性中 测试失败 所有项目都位于同一目录中 大项目 someproject1 big project someproject1 build xml big project
  • Angular Fire Auth 后未收到响应

    使用 AngularFire 注册用户后 我没有收到响应 用户电子邮件出现在 Angular 的身份验证基础上 但登录行为空 并且似乎没有执行 console log 函数 这是我的代码 希望你能帮助我 谢谢 app controller
  • 有没有办法从实例中获取平台和操作系统

    我正在尝试从我的 AWS EC2 实例获取一些信息 我想知道是否有办法提取信息 例如 Platform Version CentOS 6 0 or 7 0 Ubuntu 10 04 or 12 04 Windows 我想知道使用 SDK 是
  • VBA Access - 在 Word 文档中查找和替换文本

    我已经在 Excel 中成功编写了一些 VBA 代码 该代码打开现有的 Word 文档 根据 Excel 工作表中的信息查找并替换字符串 由于存在的源数据来自 Access 数据库 因此我想尝试将 VBA 代码移至 Access 中并从那里
  • 在 Swift 中获取指向 C char 数组的指针

    A 有这样的结构 在 mongodb c 驱动程序的 bson h 中定义 typedef struct uint32 t domain uint32 t code char message 504 bson error t 在 Swift
  • Android 中如何在不通知的情况下更新通知?

    所以我有一个通过 MQTT 接收温度的应用程序 为了避免收到垃圾邮件通知 我希望应用程序通知一次 即振动 播放声音 然后接下来的三次 如果通知没有被忽略 它只会更新温度值 所以 Notify 更新温度 更新温度 更新温度 5 或 1 如果您
  • 数据库错误 MongoDB:数据库消失

    启动了大量的进程 然后重新启动服务器 数据库就消失了 当我走进rockmongo时 我还没有看到旧的数据库 只有一个新的数据库管理员 仅此而已 db serverStatus host host version 2 0 6 process
  • 如何更改 Spring.Net 中的配置

    IoC 容器的一个优点是您可以在对象图底部交换模拟服务 然而 这在 Spring Net 中似乎比在其他 IoC 容器中更难做到 下面是一些在 Unity 中执行此操作并具有 Spring Net 代码的代码 namespace IocSp
  • PHP IMAP 函数的解决方法?尝试使用 XAMPP 处理本地主机上的传入电子邮件

    在我现在正在处理的项目中 我正在尝试添加功能 当用户向支持台发送电子邮件时 我可以将票证状态从 已关闭 更改为 重新打开 我还想将他们的电子邮件回复保存到数据库中 我遇到的问题是我无法让 PHP 的 IMAP 函数在我当前的 Apache
  • Onsen UI 分页:导航器和选项卡栏

    我对混合导航器和标签栏有疑问 说明 主页 Main page1 由两个子页面 tab1和tab2 组成 通过tabbar访问 而其他页面 page2和3 通过导航器访问 tab1 页面是第一个激活的页面 布局 tab1 和 tab2 页面具
  • Struts2中启动过滤器时出现异常[重复]

    这个问题在这里已经有答案了 我在运行 struts 应用程序时遇到这个问题 这是我的web xml具有过滤器类和名称的文件 服务器响应说无法加载类
  • Common Lisp、asdf、测试、具有不同优化级别的编译系统

    我真正想要的是源内测试定义 假设我有一个 asdf 系统 defsystem simple system serial t components module src components file 0 package file 1 tes
  • PNG 文件验证

    我有一个 Flash Web 应用程序 它显示用户提交的 PNG 文件 文件在显示之前通过一些 API 上传到服务器 我想确保没有 坏 文件被提供给Flash 其中 坏 是完全不具体的 有没有办法根据 PNG 规范验证 PNG 文件 这会捕
  • 示例 Servlet 过滤器捕获并阻止请求可疑 URL 的 IP

    避免重新开发轮子 是否有任何 Java EE servlet 过滤器示例可以处理一些基本的安全检查 即 如果 Rootkit 攻击服务器 即 URL 以 exe 结尾或包含 则在一段时间内阻止 Web 请求 限制或阻止发出异常大量请求的 I
  • Linux 是否保证在 close() 之后将文件内容刷新到磁盘?

    当使用关闭文件时close or fclose 例如 Linux 是否保证文件被写回 持久 磁盘 我的意思是 如果close 返回0 然后断电后 先前写入的数据是否保证持久存在 即持久 The fsync 系统调用确实提供了这种保证 关闭文
  • Powershell 忽略通过 SessionStateProxy.SetVariable 传递的参数

    我有以下 Powershell 脚本 param String stepx Not Working echo stepx 然后 我尝试使用以下 C 将参数传递给该脚本 using Runspace space RunspaceFactory
  • jQuery Draggable 和溢出问题[关闭]

    Closed 这个问题需要调试细节 目前不接受答案 当我从设置为溢出 滚动的容器 div 中拖动 div 时 出现了不良效果 我找到了其他人遇到问题的例子 但我无法找到解决方案 Pastebin 上的示例 发生的情况是滚动只是增加了 我可以
  • 意图自定义权限不起作用

    UPDATE 我迫在眉睫的问题按照我下面的回答得到了解决 我的环境 PC 设备 不允许在 DEBUG 版本中自定义权限 我确信几周前我能够正常运行 DEBUG 构建 因此描述了 间歇性 错误 UPDATE 2 代码在不同开发人员的机器上同步