From 1460cb4a3c4e1ec3e9272b8bf0583d13012578f9 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期四, 28 十月 2021 17:10:55 +0800
Subject: [PATCH] 还原音乐功能
---
HDL-ON_Android/Other/JPush/JPushReceiver.cs | 149 +++++++++++++++++++++++++++++++++++++++----------
1 files changed, 117 insertions(+), 32 deletions(-)
diff --git a/HDL-ON_Android/Other/JPush/JPushReceiver.cs b/HDL-ON_Android/Other/JPush/JPushReceiver.cs
index f24b091..9438176 100644
--- a/HDL-ON_Android/Other/JPush/JPushReceiver.cs
+++ b/HDL-ON_Android/Other/JPush/JPushReceiver.cs
@@ -1,26 +1,30 @@
锘�
+using System;
+using Android.App;
using Android.Content;
using CN.Jpush.Android.Api;
using CN.Jpush.Android.Service;
using HDL_ON;
using HDL_ON.DAL.Server;
using Shared;
+using Android.OS;
namespace HDL_ON_Android
-{
-
+{
+
[BroadcastReceiver(Enabled = true, Exported = false)]
[Android.App.IntentFilter(new string[]
{
"cn.jpush.android.intent.RECEIVE_MESSAGE"
},
- Categories=new string[]
+ Categories = new string[]
{
"com.hdl.onpro"
})]
public class JPushReceiver : JPushMessageReceiver
- {
-
+ {
+
+
private static string TAG = "JPushReceiver";
/// <summary>
/// 鐢ㄦ埛鐐瑰嚮鎵撳紑浜嗛�氱煡
@@ -30,7 +34,8 @@
/// <param name="notificationMessage"></param>
public override void OnNotifyMessageOpened(Context context, NotificationMessage notificationMessage)
{
- base.OnNotifyMessageOpened(context, notificationMessage);
+ //2020-12-23 瑙e喅鐐瑰嚮閫氱煡鏍忔墦寮�涓嶄簡APP闂
+ //base.OnNotifyMessageOpened(context, notificationMessage);
OpenNotification(context, notificationMessage);
}
@@ -50,12 +55,50 @@
Content = notificationMessage.NotificationContent,
Extras = notificationMessage.NotificationExtras
};
- System.Console.WriteLine("PushMes title : " + pushMes.Title);
- System.Console.WriteLine("PushMes message : " + pushMes.Content);
- System.Console.WriteLine("PushMes extras : " + pushMes.Extras);
- HDLCommon.Current.AdjustPushMessage(pushMes);
+ var jpushExpandData = GetJPushExpandData(pushMes);
+ if (jpushExpandData != null && jpushExpandData.messageType != null)
+ {
+ pushMes.messageType = jpushExpandData.messageType;
+ pushMes.expantContent = jpushExpandData.expantContent;
+ pushMes.HomeId = jpushExpandData.homeId;
+ Utlis.WriteLine("PushMes messageType : " + pushMes.messageType);
+ }
+
+ Utlis.WriteLine("PushMes title : " + pushMes.Title);
+ Utlis.WriteLine("PushMes message : " + pushMes.Content);
+ Utlis.WriteLine("PushMes extras : " + pushMes.Extras);
+ Utlis.WriteLine("PushMes HomeId : " + pushMes.HomeId);
+
+ Shared.Application.RunOnMainThread(() =>
+ {
+ HDLCommon.Current.AdjustPushMessage(pushMes);
+ });
+
+ }
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="pushMes"></param>
+ /// <returns></returns>
+ static ExpandData GetJPushExpandData(JPushMessageInfo pushMes)
+ {
+ try
+ {
+ if (pushMes.Extras != null)
+ {
+ var jpushExpandData = Newtonsoft.Json.JsonConvert.DeserializeObject<JPushExpandData>(pushMes.Extras.ToString());
+ return Newtonsoft.Json.JsonConvert.DeserializeObject<ExpandData>(jpushExpandData.expandData);
+ }
+ return null;
+ }
+ catch
+ {
+ return null;
+ }
}
+
/// <summary>
/// 娉ㄥ唽鎴愬姛鍥炶皟
@@ -65,7 +108,6 @@
public override void OnRegister(Context context, string p1)
{
base.OnRegister(context, p1);
-
Utlis.WriteLine("JPushOnRegister: " + p1);
}
@@ -79,8 +121,6 @@
//{
// try
// {
-
-
// if (JPushMessageInfo.Extras.Contains("Offline") == true)
// {
// Shared.Application.RunOnMainThread(() =>
@@ -108,12 +148,13 @@
//}
/// <summary>
- /// 鎵撳紑娑堟伅鏄剧ず鐣岄潰
+ /// 鎵撳紑娑堟伅鏄剧ず鐣岄潰.010000
/// </summary>
/// <param name="context"></param>
/// <param name="notificationMessage"></param>
- private void OpenNotification(Context context, NotificationMessage notificationMessage)
- {
+ public static void OpenNotification(Context context, NotificationMessage notificationMessage)
+ {
+
try
{
var pushMes = new JPushMessageInfo()
@@ -122,30 +163,74 @@
Content = notificationMessage.NotificationContent,
Extras = notificationMessage.NotificationExtras
};
- System.Console.WriteLine("PushMes title : " + pushMes.Title);
- System.Console.WriteLine("PushMes message : " + pushMes.Content);
- System.Console.WriteLine("PushMes extras : " + pushMes.Extras);
- if (Shared.Application.Activity == null)
+ var jpushExpandData = GetJPushExpandData(pushMes);
+ if (jpushExpandData != null && jpushExpandData.messageType != null)
{
- var tempIntent = new Intent(context, typeof(Shared.BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class);
- tempIntent.SetFlags(ActivityFlags.BroughtToFront);
- context.StartActivity(tempIntent);
-
- HDLCommon.Current.AdjustPushMessage(pushMes);
+ pushMes.messageType = jpushExpandData.messageType;
+ pushMes.expantContent = jpushExpandData.expantContent; ;
+ pushMes.HomeId = jpushExpandData.homeId;
+ Utlis.WriteLine("PushMes messageType : " + pushMes.messageType);
}
- else
- {
- (Shared.Application.Activity as BaseActivity).MoveToFront();
- HDLCommon.Current.AdjustPushMessage(pushMes);
- }
+ Utlis.WriteLine("PushMes title : " + pushMes.Title);
+ Utlis.WriteLine("PushMes message : " + pushMes.Content);
+ Utlis.WriteLine("PushMes extras : " + pushMes.Extras);
+ Utlis.WriteLine("PushMes HomeId : " + pushMes.HomeId);
+
+
+ Intent i = new Intent(context, typeof(BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class);
+ i.SetFlags(ActivityFlags.NewTask);
+ context.StartActivity(i);
+ //瑙f瀽msg
+ AdjustPushMessage(pushMes);
+
+ //Shared.Application.RunOnMainThread(() =>
+ //{
+ // if (Shared.Application.Activity == null)
+ // {
+ // var tempIntent = new Intent(context, typeof(Shared.BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class);
+ // tempIntent.SetFlags(ActivityFlags.BroughtToFront);
+ // context.StartActivity(tempIntent);
+
+ // HDLCommon.Current.AdjustPushMessage(pushMes);
+ // }
+ // else
+ // {
+
+ // (Shared.Application.Activity as BaseActivity).MoveToFront();
+ // HDLCommon.Current.AdjustPushMessage(pushMes);
+ // }
+ //});
}
catch
{
}
+ //catch (Exception ex)
+ //{
+ // Utlis.WriteLine(ex.ToString());
+ //}
}
- }
-
+
+
+
+ public static void AdjustPushMessage(JPushMessageInfo pushMes)
+ {
+
+ new System.Threading.Thread(new System.Threading.ThreadStart(() =>
+ {
+ while (MainPage.BasePageView == null)
+ {
+ System.Threading.Thread.Sleep(300);
+ }
+ Shared.Application.RunOnMainThread(() =>
+ {
+ HDLCommon.Current.AdjustPushMessage(pushMes);
+ });
+ })).Start();
+
+ }
+ }
+
}
\ No newline at end of file
--
Gitblit v1.8.0