应用关闭时未收到Android推送通知

时间:2013-10-18 22:10:10

标签: android push-notification xamarin.android xamarin pushsharp

我按照PushSharp存储库中的示例: PushSharp Android Client Sample

如果应用程序处于打开状态或在后台(通过按下主页或后退按钮),一切正常。如果我通过在应用程序管理器中滑动它关闭应用程序,我不再收到通知。

我的假设是,由于PushHandlerService被标记为[Service],即使应用程序关闭并继续侦听通知,它仍会保持打开状态。有没有办法在应用程序关闭时继续接收通知,或者我只是做错了?

我会包含代码,但我所获得的内容几乎完全取自上述链接中的示例。

编辑:

我尝试在应用程序启动时触发PushClient.Register,即使已经注册了设备,希望如果它没有启动就会启动PushHandlerService。即使在每次启动应用程序时重新注册,我仍然会在应用程序关闭时收到通知。

4 个答案:

答案 0 :(得分:4)

您是否尝试过调试或发布模式?我在调试模式下启动应用程序时遇到了同样的问题。

答案 1 :(得分:0)

此行为可能是特定于设备的。我使用EMUI对华为设备也有同样的体验。可以通过调整电池节省设置来解决它。

请参阅此问题:Remote Push Notifications and terminated Apps

答案 2 :(得分:0)

如果您希望即使应用程序被终止,服务也将继续运行,则应在AndroidManifest.xml文件的service标签中添加以下内容。

android:stopWithTask="false"

OR

如果您正在使用GCM进行推送通知,并且想要在通知到达时运行服务,则必须在AndroidManifest.xml文件中将服务注册为GCM接收者。您可以通过添加以下代码来做到这一点

<service
    android:name=".yourPushService"
    android:exported="false">
    <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
    </intent-filter>
 </service>

答案 3 :(得分:0)

因此,事实证明某些Android设备的电池电量或受保护的Apps设置会导致不显示通知。例如,在华为EMUI设备中,进入“受保护的应用”设置并打开受保护的开关,即使该应用终止后,该应用仍可以接收推送通知。