gpt4 book ai didi

android - 任何在 Android 上做 C2DM 的人

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:54:46 24 4
gpt4 key购买 nike

我需要在我的应用中实现 c2dm。有没有人也在做这个?请帮助..一些教程将非常有帮助,或者如果您已经完成了 c2dm 实现,那么非常感谢教程。

请帮忙。

最佳答案

我继续下载了 Android 的 Chrome2Phone 源代码,并通过该示例了解了它是如何工作的,我在实现该应用程序的服务器端时遇到了最大的麻烦。

从以下位置下载: http://code.google.com/p/chrometophone/source/checkout

或者svn它:

svn checkout http://chrometophone.googlecode.com/svn/trunk/ chrometophone-read-only

您应该了解的基本内容。

在 C2DMBaseReciever 类中你有:

@Override
public final void onHandleIntent(Intent intent) {
try {
Context context = getApplicationContext();
if (intent.getAction().equals(REGISTRATION_CALLBACK_INTENT)) {
handleRegistration(context, intent);
} else if (intent.getAction().equals(C2DM_INTENT)) {
onMessage(context, intent);
} else if (intent.getAction().equals(C2DM_RETRY)) {
C2DMessaging.register(context, senderId);
}
} finally {
// Release the power lock, so phone can get back to sleep.
// The lock is reference counted by default, so multiple
// messages are ok.

// If the onMessage() needs to spawn a thread or do something else,
// it should use it's own lock.
mWakeLock.release();
}
}

此方法从 C2DM 服务接收 Intent 并处理它们。

在 handleRegistration 方法中,您将看到如下代码:

} else {
try {
onRegistrered(context, registrationId);
C2DMessaging.setRegistrationId(context, registrationId);
//Add some code here to send your server the registration ID for this phone.
} catch (IOException ex) {
Log.e(TAG, "Registration error " + ex.getMessage());
}
}

然后您必须使用 google oAuth 登录服务将您的服务器注册到该服务,完成后您可以发送消息。当我测试时,我使用 curl 向服务器发送 http post 请求。

从服务器注册:

curl https://www.google.com/accounts/ClientLogin -d Email=theEmailYouWhitelisted -d Passwd=pass****word -d accountType=HOSTED_OR_GOOGLE -d source=Google-cURL-Example -d service=ac2dm

您将收到一 strip 有授权 ID 的消息。然后您使用它来发送消息。要发送消息,请使用:

curl --header "Authorization: GoogleLogin auth=**authFromRegistrationAbove**" "https://android.apis.google.com/c2dm/send" -d registration_id=**phoneRegistrationId(reciever)** -d "data.message=StringToPass" -d collapse_key=something -k

从以下位置下载 curl: CURL

希望这对您有所帮助。

关于android - 任何在 Android 上做 C2DM 的人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4014391/

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