我正在尝试在我的
Android应用程序中实现推送通知,但我目前停留在接收令牌的时候.
我正在使用最新的“InstanceID”方法,并遵循一些例子.
我已经将权限和服务添加到我的Manifest(并添加了他们的代码aswell),但无论我尝试,我总是得到“java.io.IOException:TIMEOUT”错误.我尝试过不同的手机,wifi,Lte和3G,但似乎没有任何改变.
我没有得到错误说“SERVICE_NOT_AVAILABLE”.只停留在这一个.
表现
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <receiver android:name="com.google.android.gms.gcm.GcmReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <category android:name="de.company.appname" /> </intent-filter> </receiver> <service android:name="de.company.gcm.ModuleGCMListenerService" android:exported="false" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> </intent-filter> </service> <service android:name="de.company.gcm.ModuleInstanceIDListenerService" android:exported="false"> <intent-filter> <action android:name="com.google.android.gms.iid.InstanceID"/> </intent-filter> </service>
InstanceID调用:
try { token = instanceID.getToken( senderId,GoogleCloudMessaging.INSTANCE_ID_SCOPE,null); } catch (IOException e) { e.printStackTrace(); }
instanceID.getId()正在工作.
W/InstanceID/Rpc: No response android.os.ConditionVariable@129d5713 W/System.err: java.io.IOException: TIMEOUT W/System.err: at com.google.android.gms.iid.zzc.zzb(Unknown Source) W/System.err: at com.google.android.gms.iid.zzc.zza(Unknown Source) W/System.err: at com.google.android.gms.iid.InstanceID.zzc(Unknown Source) W/System.err: at com.google.android.gms.iid.InstanceID.getToken(Unknown Source)