[英]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.