private bool CheckSmallIconInMIUI(Notification notification) { try { Java.Lang.Class miuiNotificationClass = Java.Lang.Class.ForName("android.app.MiuiNotification"); Java.Lang.Object miuiNotification = miuiNotificationClass.NewInstance(); Java.Lang.Reflect.Field field = miuiNotification.Class.GetDeclaredField("customizedIcon"); field.Accessible = true; field.Set(miuiNotification, true); field = notification.Class.GetField("extraNotification"); field.Accessible = true; field.Set(notification, miuiNotification); return(true); } catch (Java.Lang.Exception e) { return(false); } }
internal override void SetCount(int badgeCount) { try { CurrentCount = badgeCount; Java.Lang.Class miuiNotificationClass = Java.Lang.Class.ForName("android.app.MiuiNotification"); Java.Lang.Object miuiNotification = miuiNotificationClass.NewInstance(); Java.Lang.Reflect.Field field = miuiNotification.Class.GetDeclaredField("messageCount"); field.Accessible = true; field.Set(miuiNotification, badgeCount == 0 ? "" : badgeCount.ToString()); } catch (Exception e) { Intent localIntent = new Intent( INTENT_ACTION); localIntent.PutExtra(EXTRA_UPDATE_APP_COMPONENT_NAME, GetContextPackageName() + "/" + GetEntryActivityName()); localIntent.PutExtra(EXTRA_UPDATE_APP_MSG_TEXT, badgeCount == 0 ? "" : badgeCount.ToString()); mContext.SendBroadcast(localIntent); } }