我正在執行GCM到我的應用程序中。我以教程here爲起點。regId始終爲空
的問題是,我的regId
總是null
:
GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals(""))
{
GCMRegistrar.register(this, "627xxxx78");
}
else
{
if (GCMRegistrar.isRegisteredOnServer(this))
{
Log.i(TAG, "Already registered regId : " + regId);
}
else
{
final Context context = this;
mRegisterTask = new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
boolean registered =
ServerUtilities.register(context, regId);
if (!registered)
{
GCMRegistrar.unregister(context);
}
return null;
}
@Override
protected void onPostExecute(Void result) {
mRegisterTask = null;
}
};
mRegisterTask.execute(null, null, null);
}
}
在上面的代碼,ServerUtilities.register
不會被調用,因爲GCMRegistrar.getRegistrationId(this)
;總是返回一個空字符串。
任何想法?
你可以發佈你的清單文件 – Chet
你在'GCMIntentService'中註冊請求的結果是什麼? – CommonsWare