我正面临有关Android GCM的问题。 下面的代码在ANDROID 4.4上工作正常,但是当我在ANDROID 4.0上试用它时,它没有。
以下是我的应用的工作原理:
PHP页面查看GCM消息
$message = array("type" => 1, "code" => 9999);
$registrationIDs = array();
$registrationIDs[] = $gcmid; //device already registered successfully
$this->gcm->send_notification($registrationIDs,$message);
应用程序收到GCM通知并进入onHandleIntent
@Override
protected void onHandleIntent(Intent intent) {
Bundle extras = intent.getExtras();
if (!extras.isEmpty()) {
String stype = extras.getString("type");
这是我无法理解的地方。 var extras的值对于每个设备是不同的。看起来设备4.0没有注册,但实际上它收到了没有数据值的GCM消息。
ANDROID 4.4响应
Bundle[{code=9999, from=177887891705, type=1, android.support.content.wakelockid=1, collapse_key=do_not_collapse}]
ANDROID 4.0响应
Bundle[{android.support.content.wakelockid=1, unregistered=com.mypackage.test}]
同样,我正在测试两个设备使用相同的代码(当然,每个设备的GCM注册ID都不同)。
有没有人有任何提示可以分享这个?
谢谢!