【发布时间】:2017-05-17 18:43:37
【问题描述】:
什么是有效的
我已经使用以下 Xamarin 指南为我们的 Xamarin Forms 应用的 Android 端实现了推送通知:
这很好用,我们正确地调用了 OnNewIntent,当应用程序运行时在后台调用。然后我们调用我们的方法来处理推送通知的意图,一切都很好。
protected override void OnNewIntent(Intent intent)
{
base.OnNewIntent(intent);
GoogleListenerService.ReceivedRemoteNotification(intent);
}
有什么问题
如果我们关闭应用程序,触发推送通知,然后单击推送通知,应用程序似乎不会调用 OnNewIntent,而是会启动应用程序,就像我们刚刚单击应用程序图标时一样(调用 OnCreate )。
已经尝试过什么
我尝试实施的主要解决方法概述如下:
Xamarin 只有一个 GetIntent 方法,该方法需要输入字符串 URL,并且使用以下结果会产生空数据。
Intent intent = new Intent(this, typeof(MainActivity));
Bundle data = intent.Extras;
在第二篇博文中,我们的 Intent 服务、MainActivity.cs 文件和清单文件中对 LaunchMode = SingleTop 的所有更改都没有导致行为发生任何变化。
编辑
总是会收到推送通知,并且总是会调用 OnMessageReceived,无论应用程序是在后台还是完全关闭。此外,当应用程序处于后台时,OnNewIntent 会收到待处理的 Intent,而在应用程序关闭时则不会。
this.Intent.Extras;
总是显示为 null(当前位于 OnResume 方法中)。
【问题讨论】:
标签: android-intent xamarin xamarin.android