Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安卓c2dm服务_Java_Android - Fatal编程技术网

Java 安卓c2dm服务

Java 安卓c2dm服务,java,android,Java,Android,正在尝试实现google C2DM服务 registrationIntent.putExtra("app", PendingIntent.getBroadcast(context,0,new Intent(), 0)); registrationIntent.putExtra("sender","example@gmail.com"); context.startService(registrationIntent); 几乎每个教程都有这一行代码。这是我必须编码的服务吗?或者Android是否

正在尝试实现google C2DM服务

registrationIntent.putExtra("app", PendingIntent.getBroadcast(context,0,new Intent(), 0));
registrationIntent.putExtra("sender","example@gmail.com");
context.startService(registrationIntent);

几乎每个教程都有这一行代码。这是我必须编码的服务吗?或者Android是否知道如何处理这种意图。我从一个具有默认构造函数的助手类调用此方法。我将当前上下文传递给上述方法以创建注册意图。有人知道这是如何工作的,或者我的程序将运行到哪里吗?

您遗漏了最有趣的一段代码

Intent registrationIntent = new Intent("com.google.android.c2dm.intent.REGISTER");
这是我必须编码的服务吗?或者Android是否知道如何处理这种意图


请注意,目的是在com.google.android.c2dm域中。设备上的Android C2DM实现知道如何处理这个意图,您将启动自己的服务来处理它。

不,您不必编写服务。你需要向谷歌的服务发送意向。您省略了创建意图的第一行,该行包含服务名称。通常是这样的:

    意向登记 = 新意图(“com.google.android.c2dm.Intent.REGISTER”)

com.google.android.c2dm.intent.REGISTER
标识谷歌的服务


现在,您仍然需要编写接收注册结果的广播接收器(ID或错误)。和一个接收器来接收实际的C2DM消息。

我知道我省略了第一行。希望能找到一个熟悉c2dm的人…看起来像你一样。谷歌的服务是安卓2.2API吗?或者我需要从其他地方获取它吗?它出现在Android 2.2及更高版本中,除了一些极端的定制。此外:在Kindle Fire和Nook平板电脑等设备上,它可能不会出现。那些供应商(亚马逊和B&N)正在努力摆脱与谷歌云服务的纠缠。非常感谢。我知道第一行,但不认为它很重要,因为我的目标是熟悉c2dm的成员。如果是V2.2及以上版本,c2dm实现是否始终在设备上?或者我需要从某处获取c2dm目录吗?@Ryan Gray:c2dm服务与Android Market捆绑在一起,因为有些(不记得是哪个)版本,你不需要(也不能)从其他地方获取它。