Android Gcm 推送時,第一次獲取到registrationID為null的問題解決
之前一直沒注意到,在使用谷歌gcm訊息推送服務時,第一次執行,註冊谷歌服務,拿到的registrationID是空的,導致傳給後臺服務就是空的,無法接收到資訊,大概原因是你向谷歌註冊服務,要想立馬獲取registrationID的話,是不確定的,你需要啟動一個執行緒,嘗試執行幾次,知道獲取到的registrationID不為空,再傳給後臺服務,如下程式碼:給遇到相同問題的同學一個建議,謝謝閱讀
new Thread() { @Override public void run() { int time = 30; while (time > 0) { time--; //registrationID不一定立即返回給你,你需要開啟執行緒去查詢,知道不為空為止 regId = GCMRegistrar.getRegistrationId(LoginActivity.this); if (!(regId.equals("") || regId == null)) { // 1 表示 iPhone 2 表示android String groupName = APIDoc.getUserDocCaptain().getGroupName4Account(account); String deviceId = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).getDeviceId(); TradeResult tradeResult = TradeAPI.getInstance().setRegistDeviceID(ClientAPI.getAeid(),String.valueOf(account), groupName, regId, 2, deviceId,ConfigurationUtil.getInstance().getVersion());//將registrationID傳給後臺 if (tradeResult.isSucceed()) { System.out.println("-----" + time); return; } } try { sleep(1000 * 3); } catch (InterruptedException e) { e.printStackTrace(); } } } }.start();
相關推薦
Android Gcm 推送時,第一次獲取到registrationID為null的問題解決
之前一直沒注意到,在使用谷歌gcm訊息推送服務時,第一次執行,註冊谷歌服務,拿到的registrationID是空的,導致傳給後臺服務就是空的,無法接收到資訊,大概原因是你向谷歌註冊服務,要想立馬獲取registrationID的話,是不確定的,你需要啟動一個執行緒
關於ionic3 極光推送 Registration ID第一次獲取不到
問題: 關於Registration ID第一次獲取不到,可以用setTimeout延遲後獲取。 ios開發環境能收到通知訊息,生產模式接收不到通知訊息。 ios釋出到app store上,下下來的
Android 關於極光推送時測試和正式的問題
極光推送並沒有提供區分測試和正式的欄位,如果想區分測試和正式的環境,可以重新註冊一個,在重新註冊時,會讓你重新填寫包名, release: com.jpush.test debug: com.jpush.test.debug 然後我們配置gradle,
Android 谷歌gcm推送所需要的埠
如果有人做過谷歌gcm的推送功能,就會想知道,如果將註冊訪問谷歌網站的服務放到伺服器上,為了安全起見,就會要求只能開通對應的谷歌服務埠,經過一番查詢,記錄如下: I've fin
Android系統使用谷歌官方GCM推送指南
本文旨在為所有Android系統手機普通使用者提供使用谷歌GCM推送的教程,注意這不是用於開發者的。雖名為指南,但多少是探索性的,因為一些細節筆者尚未搞清楚,希望各位指正。由於大部分國內應用沒有使用GCM推送服務,那麼如果你手機裡的應用幾乎沒有使用GCM服務的應用,那麼即使打通GCM也是沒有意義的。本文的適用
記錄一次Android信鴿推送,跳到指定Activity
使用信鴿推送,跳到指定的Activity。出現了兩次請求伺服器資料。 原因:對於onNewIntent的呼叫不清晰。 背景: 1、Activity模式:SingleTop; 場景一: 假如指定的Activity不存在的話,信鴿推送跳到指定的Activity的生命週期為:
android studio 加入極光推送 error資訊出現獲取sdk版本失敗的問題
專案加入極光推送,但是在debug模式下面一直看到獲取sdk版本失敗的情況,看了下文件 照極光推送 官方整合文件 出現 出現獲取sdk版本失敗的問題 JPush .so file do not ma
android 極光推送 聲音與振動 的關閉和開啟
fff getc 用法 koa pub tar brush asi drawable 前言:最近剛好在寫一些推送方面的東西,又是新手,不斷在網上找資料,很少,不過還是找到了一些,反正百度我是再也不想百度了,谷歌一下子就能找到想要的。 廢話不多說。
Android實現推送方式解決方案
都是 device andro broker dev 常見 剛才 設置 互聯網 本文介紹在Android中實現推送方式的基礎知識及相關解決方案。推送功能在手機開發中應用的場景是越來起來了,不說別的,就我們手機上的新聞客戶端就時不j時的推送過來新的消息,很方便的閱讀最新的新
JavaWeb基礎 session 只有在第一次獲取的時候才會創建
mage logs () port fire tco jsession protected x64 禮悟: 好好學習合思考,尊師重道存感恩。葉見尋根三返一,江河湖海同一體。 虛懷若谷良心主,願行無悔給最苦。讀書鍛煉強身心,誠勸且行且珍惜。
Android push推送消息到達成功率優化
發送消息 data- 得到 推斷 view 使用 數據 數據庫 blog Android push推送消息到達成功率優化 問題:server向client發送消息。
基於Netty實現的Android 訊息推送(即時通訊)的解決方案
根據Netty框架實現訊息推送(即時聊天)功能. Netty框架,TCP長連線,心跳,阻塞訊息佇列,執行緒池處理訊息傳送, 基於Google ProtoBuf自定義的訊息協議, TCP粘包/拆包.... 客戶端通過TCP連線到伺服器,並建立TCP長連線;當伺服器端收到新訊息後通過TCP連線推送給
Android 小米推送(MiPush)的化簡深入理解
小米推送(MiPush)是小米公司向開發者提供的訊息推送服務,總的流程如官方文件所示: 由圖可知,推送是雙向的: 1.推送是可以由app的後臺端發起,應用伺服器的後
GCM 推送服務端(nodejs)
昨天接入蘋果APNs推送,今天需要支援GCM端推送,推送伺服器都需要在牆外,否者無法連線到GCM伺服器,而接受推送伺服器的手機app需要有谷歌服務框架,最好待推送手機也在牆外。 GCM架構圖: 同樣萬
Android 信鴿推送整合
本文是基於3.+的版本,在整合4.+的版本中,整合mid包時遇到一個問題 Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be s
android pn推送是出現reomte-server-error(502)
07-23 17:18:33.249: E/Androidpn_XmppManager(17600): XMPP connection failed 07-23 17:18:33.249: E/Androidpn_XmppManager(17600): XMPPError connecti
對於svn的總結,包括Android studio配置svn, svn第一次上傳專案,及忽略專案檔案
1.Android studio在使用svn的時候需要進行一些簡單的配置,在studio 中 file ->setting ->version contrl->SubVersion ->配置(安裝的路徑 複製進來(xxxxx\svn.exe)
android librtmp 推送h264流 aac流 基本過程總結四 推流x264
{ RTMPPacket * packet; unsigned char * body; int i; int ret = 0; if (m_pRtmp == NULL) return -1; packet = (RTMPPacket *) malloc(RTMP_HEAD_SIZE +
android 極光推送 自定義聲音
可以定義樣式,那麼可以禁用極光的聲音,收到通知就播放一個聲音就好:禁用: // 極光 JPushInterface.setDebugMode(IS_DEBUG); JPushInterface.init(this); BasicPushNotificationB
第一次獲取github上go語言編寫的一個專案遇到問題的處理
我安裝的是最新的go語音版本1.9,下載的是go1.9.windows-amd64.msi 安裝檔案。檔案需要到https://golang.org/ 去下載。由於眾所周知的原因,需要翻牆,否則網站打不開。 安裝很順利。安裝完後開啟一個cmd視窗,輸入: go versio