当前位置: 首页 > 知识库问答 >
问题:

从字符串文件在清单中定义权限,android?

万俟炯
2023-03-14

在我的应用程序中,我使用GCM进行推送通知,我们必须在清单中设置2个权限标记,我从字符串xml中获取其值

 <uses-permission android:name="@string/app_gcm_permission" />

<permission
    android:name="@string/app_gcm_permission"
    android:protectionLevel="signature" />

在字符串文件中

<string name="app_gcm_permission">com.lift.chi.permission.C2D_MESSAGE</string>

gradle构建成功,当我尝试运行应用程序时,出现以下错误

error: invalid Java identifier '@string/app_gcm_permission'.
Message{kind=ERROR, text=error: invalid Java identifier '@string/app_gcm_permission'

这是因为android Studio内部将点转换为下划线,因此会抛出无效的java标识符错误。请不要给我直接在清单中添加权限的解决方案,而不是从字符串文件中选择。

我如何解决这个问题??

共有3个答案

羊和光
2023-03-14

代替

<uses-permission android:name="@string/app_gcm_permission" />

<permission
    android:name="@string/app_gcm_permission"
    android:protectionLevel="signature" />

做吧

<uses-permission android:name="com.lift.chi.permission.C2D_MESSAGE" />

<permission
    android:name="com.lift.chi.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />
丰飞龙
2023-03-14

试试这个快速修复

 <permission
    android:name="com.lift.chi.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />
廉元龙
2023-03-14

您不能在android:name的字段中使用字符串资源

明示许可

 类似资料:
  • 11.6.1.在 Manifest 文件中定义权限 首先是给出权限的定义。解释它们是什么、如何使用、处于何种保护级别。 例 11.11. 在Manifest文件中定义权限 <manifest> ... <permission android:name="com.marakana.yamba.SEND_TIMELINE_NOTIFICATIONS" <!-- --> android:label="@

  • 我制作了一个简单的测试应用程序,用于使用java amqp库读取RabbitMQ队列()。 但由于Android权限(socket),我在连接到我的rabbit服务器时遇到了问题 以下是错误消息: W/系统。错误:java。网SocketException:套接字失败:EPERM(不允许操作) 我尝试过添加到舱单。下面是它的样子: 我错过了什么? 编辑 根据要求,以下是完整的错误跟踪:https:

  • 我以前写过这个 不知道有没有更好的办法。 我想要的是 或者 像 在 PHP 中。 有没有类似的方法将条件直接放入字符串中?

  • 问题内容: 我正在寻找一个可以清理字符串并准备好用于文件名的php函数。有人知道吗? (我会写一个,但是我担心自己会忽略一个字符!) 编辑:用于将文件保存在Windows NTFS文件系统上。 问题答案: 不用担心忽略字符-如何使用您愿意使用的字符白名单?例如,你可以让刚刚好醇” ,,,和一段时间的单个实例()。这显然比大多数文件系统要严格得多,但应该可以确保您的安全。

  • 问题内容: 在此结构定义中: 字符串 “ json:message” 的含义是什么,以及如何访问它(如果可访问)。先感谢您。 问题答案: 这些是结构标记。包使用此struct标记 将对象转换为JSON,并将 JSON字符串转换为对象 在将一个结构封送(编码)为JSON字符串时,它将查找此struct标记以分配 键名,如果不存在,则它可能会使用结构字段名本身 顺便说一句语法是错误的 这是供参考的示例