我正在開發一個Android應用程序並使用Parse推送通知。目前我在註冊新設備時遇到問題。我使用下面的代碼在Parse服務器上的特定頻道上訂閱我的Android手機。無法訂閱從Android設備解析頻道
final String channel = "myapp_" + userId;
ParsePush.subscribeInBackground(channel, new SaveCallback() {
@Override
public void done(ParseException e) {
if (e != null) {
e.printStackTrace();
ParsePush.subscribeInBackground(channel, new SaveCallback() {
@Override
public void done(ParseException e) {
Log.e("Subscribe", e == null ? "Success" : "Failure");
}
});
} else {
Log.e("Subscribe", "Success");
}
}
});
我對這個奇怪的問題:
該設備可以註冊安裝的應用程序到手機後,解析爲第1時間(我的設備已經訂閱的頻道成功),但GCM不返回設備令牌。即使等了很長時間,但沒有什麼好結果。除非我退出並重新打開應用程序,否則GCM會返回設備令牌。我不知道他們之間的區別在哪裏:第一次使用應用程序vs重新打開應用程序。 有沒有人有這個問題?你能給我任何解決這個問題的建議嗎?
爲什麼在第一次沒有保存設備令牌... – koutuk
@koutuk:我以前曾經使用Parse很多次,並且自從我註冊設備幾分鐘後,他們總是從GCM獲取deviceToken 。但這一次不是,儘管一切都是一樣的。 我知道我們可以在客戶端以編程方式創建一個令牌,但這與我們在整個應用程序中的一般解決方案不一致,而且風險更大。 –