1
我使用以下代碼獲取Android設備中的設備令牌。但是,我第一次嘗試時得到了空值。設備令牌第一次返回null
GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
GCMRegistrar.register(this, UtilsGcm.GCMSenderId);
}
這裏是我的GCM類我用
public class GCMIntentService extends GCMBaseIntentService {
public GCMIntentService() {
super(UtilsGcm.GCMSenderId);
}
@Override
protected void onError(Context context, String regId) {
Log.e("", "error registration id : " + regId);
}
@Override
protected void onMessage(Context context, Intent intent) {
handleMessage(context, intent);
}
@Override
protected void onRegistered(Context context, String regId) {
System.out.println("on registered" + regId);
UtilsGcm.registrationId = regId;
handleRegistration(context, regId);
}
@Override
protected void onUnregistered(Context arg0, String arg1) {
}
}
問題是,它需要時間來生成設備ID如果你試圖導航之前,它返回null,你可以請張貼你的gcm類.. –
@George:編輯 –