Xamarin 中的 Android ParsePushBroadcastReceiver
Posted
技术标签:
【中文标题】Xamarin 中的 Android ParsePushBroadcastReceiver【英文标题】:Android ParsePushBroadcastReceiver in Xamarin 【发布时间】:2016-09-28 17:40:17 【问题描述】:我正忙着将用 android Java 编写的应用“重新创建”到 Xamarin C#
我需要将一个类扩展为 NuGet 上的 Parse
库中可用的 ParsePushBroadcastReceiver
,并能够覆盖 OnReceive
方法。在 Java 中,该库是可扩展的,如无数 *** 问题中所见,但在 Xamarin 中,该类是密封的,无法扩展。
https://***.com/a/26180181/1876355
How to add "ParsePushBroadcastReceiver.getActivity" to an application?
我不知道如何解决这个问题,因为存在需要在 OnReceive
方法中执行的现有代码。
有什么想法吗?
【问题讨论】:
这个bug好像已经被报告了github.com/ParsePlatform/Parse-SDK-dotNET/issues/152 【参考方案1】:Looks like a bug
也许您现在可以重新创建该类,然后在 Parse 库的未来版本发布时替换?
namespace WorkAround.Parse
[Register("parse.ParsePushBroadcastReceiver")]
public class ParsePushBroadcastReceiver : BroadcastReceiver
internal const string KeyPushData = "com.parse.Data";
internal const string ActionGcmRegisterResponse = "com.google.android.c2dm.intent.REGISTRATION";
internal const string ActionGcmReceive = "com.google.android.c2dm.intent.RECEIVE";
public override void OnReceive(Context context, Intent intent)
intent.SetClass(context, typeof(ParsePushService));
ParseWakefulHelper.StartWakefulService(context, intent);
【讨论】:
我复制了你的整个命名空间,包括Parse;
,将 Parse dot net SDK...Parse/Internal/Push/Android/ParseWakefulHelper.cs
的内容复制到 WorkAround.Parse 并扩展到 : WorkAround.Parse.ParsPush...
完美运行
很高兴听到它有帮助!请记住在解决 github 问题后解决此问题 :)以上是关于Xamarin 中的 Android ParsePushBroadcastReceiver的主要内容,如果未能解决你的问题,请参考以下文章
XMPP (Xamarin.Android) 中的主机未知异常
有没有办法使用 Xamarin.Forms PCL 项目中的 Devexpress.Xamarin.Android.Charts
Visual Studio 2017 中的 Xamarin (Android) 单元测试
Xamarin:用于 Android 和 Windows UWP 的 Xamarin 表单中的分组列表的垂直字母索引(跳转列表)