gpt4 book ai didi

Android 解析、通知和构建类型

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:36:44 25 4
gpt4 key购买 nike

我目前正在使用 parse 在 Android 应用程序上发送和接收推送通知。
一切都很好,直到我为调试构建类型向我的 build.gradle 添加了一个应用程序 ID 后缀:​​

defaultConfig {
applicationId "com.example.myapp"
...
}

buildTypes {
debug {
applicationIdSuffix ".debug"
...
}
release {
...
}
}

现在我可以在 Parse 中看到新安装已在 applicationId 字段中注册:com.example.myapp.debug,因此在 list 文件中我使用了以下代码:

<receiver
android:name="com.parse.GcmBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />

<category android:name="${applicationId}" />

</intent-filter>
</receiver>

这样做我认为注册会根据构建类型动态变化。

实际上它不起作用:使用 .debug 后缀注册的安装没有 GCMSenderId 也没有 DeviceToken,所以我不能收到任何通知。我显然遗漏了一点,或者我不明白注册是如何工作的,但我不知道如何让它正常。
Parse 是使用 applicationId 来注册应用程序,还是使用真实的包名(用于 R)?

有没有人设法处理具有不同构建类型(applicationId 后缀)的解析通知?

最佳答案

好吧,我终于明白了。我忘记在权限声明中添加动态 applicationId...

<permission
android:name="${applicationId}.permission.C2D_MESSAGE"
android:protectionLevel="signature" />

<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />

问题已解决。

关于Android 解析、通知和构建类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30501793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com