- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我尝试从 gcm.jar 更新以从 google-play-services.jar 获取 GCM。我使用与所示相同的代码 here .
我使用的是与更改客户端实现之前相同的服务器 (node-gcm)。
我得到了 registrationId,但是当我尝试发送通知时,没有调用 GcmBroadcastReceiver.onReceive。 (我在 list 文件中有它)
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.support.v4.content.WakefulBroadcastReceiver;
import android.util.Log;
/**
* Created with IntelliJ IDEA.
* User: Eran
* Date: 11/11/13
* Time: 00:43
* To change this template use File | Settings | File Templates.
*/
public class GcmBroadcastReceiver extends WakefulBroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("GcmBroadcastReceiver", intent.getDataString());
// Explicitly specify that GcmIntentService will handle the intent.
ComponentName comp = new ComponentName(context.getPackageName(),
GcmIntentService.class.getName());
// Start the service, keeping the device awake while it is launching.
startWakefulService(context, (intent.setComponent(comp)));
setResultCode(Activity.RESULT_OK);
}
}
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gamerlabs.high5poker"
android:versionCode="3"
android:versionName="3.0">
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
>
</supports-screens>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="com.android.vending.BILLING" />
<permission android:name="com.gameralabs.high5poker.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.gameralabs.high5poker.permission.C2D_MESSAGE" />
<application
android:name="com.gameralabs.classes.HFApplication"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:hardwareAccelerated="true"
android:largeHeap="true"
android:debuggable="true"
>
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/app_id" />
<activity android:name="com.facebook.LoginActivity"/>
<activity
android:name="com.gameralabs.high5poker.HFSplashActivity"
android:screenOrientation="landscape"
android:noHistory="true"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.gameralabs.high5poker.HFLoginActivity"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
>
</activity>
<activity
android:name="com.gameralabs.high5poker.HFLobbyActivity"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
>
</activity>
<activity
android:name="com.gameralabs.high5poker.HFGameActivity"
android:noHistory="true"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
>
</activity>
<activity android:name="com.gameralabs.high5poker.HFActivity"/>
<receiver
android:name="com.gameralabs.high5poker.GcmBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="com.gameralabs.high5poker" />
</intent-filter>
</receiver>
<service android:name="com.gameralabs.high5poker.GcmIntentService" />
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
</application>
</manifest>
有什么帮助吗?
最佳答案
您忘记更改权限中的包名称。
<permission android:name="com.example.gcm.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.example.gcm.permission.C2D_MESSAGE" />
应该是
<permission android:name="com.mintmark.TestGcm.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.mintmark.TestGcm.permission.C2D_MESSAGE" />
关于android - gcm GoogleCloudMessaging 新实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19908290/
我正在尝试在我的项目中实现 gcm,因为我想制作设备到设备的消息传递应用程序 我在这里阅读 http://developer.android.com/google/gcm/client.html因为它
正如问题所说,如何找出 registration ID 何时执行?已在 GoogleCloudMessaging 中失效应用程序接口(interface)?我已经阅读了关于类似主题的几个问题的答案:D
我需要在我的应用中使用 GoogleCloudMessaging。我通过 Cocoapods 安装了它。当我添加这部分代码时: GLInstanceIDConfig *instanceIDConfig
我是世界上唯一遇到此问题的人。所以我认为我真的需要一位专家。 我正在使用 Eclipse 和 Android 开发工具。 我已将所有相关库添加到项目中 我已经添加了 gcm.jar GoogleClo
我正在使用 Google Cloud Messaging在我的应用程序中借助 Urban Airship。 Urban Airship 正在向 GCM 注册,我的代码正在接收 GCM 消息。 我的问题
我试图在 Android 应用程序中实现推送通知,我发现了很多示例,但它们都导入了 com.google.android.gcm - 一个已被弃用的包 (据推测)它的功能包含在 GooglePlayS
我尝试从 gcm.jar 更新以从 google-play-services.jar 获取 GCM。我使用与所示相同的代码 here . 我使用的是与更改客户端实现之前相同的服务器 (node-gcm
我知道有很多帖子有同样的问题,但看完所有帖子后我找不到问题的原因。 我编写了一个 GCM 客户端来注册我的设备以从我的服务器接收消息。它正在运行,我可以将注册 ID 存储在我的数据库中。 我的问题出在
是否可以借助 robolectric 对 GCM 上游消息进行单元测试?这是我的单位: public void sendUpstream(Bundle data) { GoogleCloudM
我正在尝试让 GCM 在我的应用程序中运行(以在我们的营业时间更改或我们有任何促销 Activity 时通知用户),但我不断收到错误 无法解决尝试使用 Google Cloud Messaging A
我已经使用 Google Cloud Messaging 创建了 TokenID。 在我的 app 中有一个启用和禁用 Notification 的选项。 如果我使用 GoogleCloudMessa
我正在尝试从我的应用程序类 Global 中调用 Google Cloud Messaging 的注册操作: Global global; global = new Global();
我对 Java 编程和一般编程还很陌生。现在我决定制作我自己的应用程序,该应用程序应该使用谷歌云消息传递。不知何故我成功了,但后来我意识到我使用了方法 String regid = gcm.regis
我遇到了 android 应用程序所说的问题。 “The application xxxx Sorry stopped”与推送通知一起工作,当执行调试器时发生在它通过时: 方法一 InstanceID
我正在尝试发帖到 Googles Cloud Messaging Api (GCM) ,但我的请求失败,响应为 HTTP/1.1 400 InvalidTokenFormat。 但是,如果我更改程序,
最近,我注意到,Google 通过使用 google play service SDK,准确地说是 GoogleCloudMessaging 类,为 GCM 提供了新方法。我在 Google Code
我正在尝试使用 GCM 向设备发送消息。作为一种特殊情况,我使用 android 设备作为我的第三方服务器。我添加了以下代码,但出现“Unauthorized Error 401”。在这里,我只是想在
我正在使用 gcm 描述的新方法 here使用 GoogleCloudMessaging 类。但是 10 次中有 9 次出现 SERVICE_NOT_AVAILABLE 错误。只有一次它注册了一个设备
这个问题在这里已经有了答案: Is there any reason to continue using IntentService for handling GCM messages? (1 个回
你好,我正在按照 android 的官方文档发送推送通知,因为旧方法已被弃用,但我在实现 GCM 客户端时遇到问题 http://developer.android.com/google/gcm/cl
我是一名优秀的程序员,十分优秀!