[英]Google Cloud Messaging Waiting For Register
在我的GCM項目中,我想等待AsyncTask直到寄存器返回。
我試着使用synchronized
和CountDownLatch
在主線程等待。
但是,每次我等待時,我的應用程序都會退出,並在注冊方法上出現SERVICE_NOT_AVAILABLE異常。
為什么會發生此異常? 我通常會得到一個非常好的注冊ID。 同樣,沒有注冊方法,等待過程也會成功。
謝謝您的幫助。
SERVICE_NOT_AVAILABLE錯誤通常與GCM register()方法一起出現。 您可以嘗試以下方法:
在AndroidManifest.xml文件中將REGISTRATION添加到GcmBroadcastReceiver目的過濾器
<receiver android:name=".GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> <category android:name="YOUR_PACKAGE_NAME" /> </intent-filter> </receiver>
在GcmBroadcastReceivers onReceive
方法中獲取注冊ID
@Override
public void onReceive(Context context, Intent intent) {
String regId = intent.getExtras().getString("registration_id");
}
希望這對您有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.