安卓模拟器无法接收推送通知

57

我正在使用谷歌云的推送通知,但出现了不能在模拟器上接收推送通知的问题。

然而,当我在真实设备上测试该应用程序时,确实可以接收到通知。

有其他人遇到过这个问题或找到解决方法吗?模拟器有网络访问权限,并且与真实设备相同的安卓版本,所以我想不出任何原因它不工作。


5
这个问题可能有些傻,但是您在模拟器上登录了您的Google账户吗? - laminatefish
是的,虽然可能只是通过邮件。 - Christopher Lawless
2
搞定了,他们可以接收推送通知,只需确保使用了Google API并连接了Google账户。 - Christopher Lawless
1
有趣的是,我的程序只能在模拟器上运行,而无法在真实的手机上运行! - Ghasem
6个回答

32

你的模拟器使用的是哪个目标?如果需要接收推送通知(如GCM),请使用“Google APIs”(任何版本)目标。


6
您的模拟器中是否设置了任何Google账户? - iflorit
2
你的Android项目是否也使用了Google APIs目标进行编译?我认为这对于测试是必要的。 - iflorit
现在是这样的,不幸的是没有帮助,我会继续努力,也许我会找到一些东西。 - Christopher Lawless
1
问题并不在于我没有使用Google API,而是我试图使用一个为硬件加速提供支持的英特尔构建版本,但由于Google API Android构建版本中不存在这个版本,因此AVD管理器会默认切换到Android核心API,而这是我没有注意到的。 - Christopher Lawless
2
还有别忘了在你的应用 gradle 中添加以下内容:apply plugin: 'com.google.gms.google-services' - Vinicius Lima

23

将您的 Android 虚拟机 (AVD) 目标设置为使用“Google APIs”,以使模拟器能够接收 GCM 推送通知。

输入图像描述


你是怎么得到“Google APIs”目标的?我在最新的Eclipse和最新的ADT插件中没有看到它。 - faizal
6
请尝试使用Android SDK Manager安装额外的API。您还需要安装Google Play服务。我有一段视频展示了这个过程,链接是 https://www.youtube.com/watch?v=Zx78vrELgXk。 - David Douglas
啊,谢谢。视频很好。我以前从没注意到SDK管理器中的Google APIs系统镜像。 - faizal
@DavidDouglas,你应该将其称为“Google APIs系统镜像”,这样更清晰明了。还有一个名为“Google APIs”的选项,容易引起混淆。 - Teoman shipahi

17

你的模拟器之前是否收到 Firebase 推送通知?如果是,请强制重新启动你的模拟器。


除了强制重新启动之外,是否有任何其他解决方法? - Akash Gorai

14

请确保您在模拟器上连接了谷歌账户。


6
我的解决方案:在设置中允许通知。一些模拟器默认被拒绝。

enter image description here


2
如果你联系到她,那么你可以尝试 this 的答案。
需要注意的是,不需要使用任何谷歌账户登录模拟器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接