gpt4 book ai didi

android - 谷歌云消息应用程序选择

转载 作者:行者123 更新时间:2023-11-29 21:14:02 25 4
gpt4 key购买 nike

这可能是一个奇怪的问题,但通常当我为一个 Action (例如接收短信)注册一个接收者时,我会为我的应用程序指定一个尽可能高的优先级值。这样我的应用程序就可以在其他应用程序之前收到短信,并且我可以在它们之前做任何我想做的事情(比如中止广播)。

我没有给予优先权,也没有为 GCM 做任何特别的事情。我为 GCM Receive 添加了使用权限,并在 list 文件中注册了一个接收器。

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
.
.
.
<receiver
android:name="com.google.android.gcm.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" />
</intent-filter>
</receiver>

假设另一个应用程序也将这些添加到其 list 文件中。 GCM 如何调用我的广播接收器而不是其他应用程序的广播接收器?

最佳答案

根据 GCM Client Manifest Setup :

[You must add] an applicationPackage + ".permission.C2D_MESSAGE" permission to prevent other Android applications from registering and receiving the Android application's messages. The permission name must exactly match this pattern—otherwise the Android application will not receive the messages.

即,

<permission android:name="com.example.app.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.example.app.permission.C2D_MESSAGE" />

<application ...>
<receiver
android:name=".GcmBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="com.example.app" />
</intent-filter>
</receiver>
<service android:name=".GcmIntentService" />
</application>

com.example.app 需要替换成你的包名。

关于android - 谷歌云消息应用程序选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21922441/

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