新建推送脚本:LocalReceive

import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.TaskStackBuilder;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;import com.unity3d.player.UnityPlayer;public class LocalReceiver extends BroadcastReceiver
{//    private static Set<String> channels = new HashSet();private NotificationManager manager;@Overridepublic void onReceive(Context context, Intent intent) {
//        Toast.makeText(context, "开始工作了!!!", Toast.LENGTH_LONG).show();//顶部通知manager=(NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);//点击通知栏跳转Intent playIntent = new Intent(context, UnityPlayerActivity.class);//PendingIntent,和Intent类似,不同的是由于不是马上调用PendingIntent pendingIntent = PendingIntent.getActivity(context, 1, playIntent, PendingIntent.FLAG_UPDATE_CURRENT);Notification.Builder builder = new Notification.Builder(context);Resources res = context.getResources();builder.setContentTitle("title").setContentText("提醒内容").setSmallIcon(R.drawable.ic_launcher).setDefaults(Notification.DEFAULT_ALL).setContentIntent(pendingIntent).setAutoCancel(true).setSubText("早点休息!");int app_icon = res.getIdentifier("app_icon", "drawable", context.getPackageName());builder.setSmallIcon(app_icon);final Notification notify = builder.build();manager.notify(1, builder.build());}public static void ClearShowingNotifications() {Activity currentActivity = UnityPlayer.currentActivity;@SuppressLint("WrongConstant") NotificationManager nm = (NotificationManager)currentActivity.getSystemService("notification");nm.cancelAll();}}

UnityPlayerActivity中调用:

 //先清空 本地推送内容public  void ClearShowing(){LocalReceiver.ClearShowingNotifications();}//android 推送功能public  void AndroidNotification(){//LocalReceiver.SetRepeatingNotification(id,delayMs,title,message,ticker,rep,sound,soundName,vibrate,lights,largeIconResource,smallIconResource,bgColor,bundle,channel,actions);setReminder(true);}public void setReminder(boolean reminder){AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);PendingIntent pi = PendingIntent.getBroadcast(UnityPlayerActivity.this, 0, new Intent(this, LocalReceiver.class), 0);if (reminder) {//设置闹钟Calendar instance = Calendar.getInstance();instance.setTimeInMillis(System.currentTimeMillis());instance.setTimeZone(TimeZone.getTimeZone("GET+8"));instance.add(Calendar.SECOND, 5);//设置5秒am.setRepeating(AlarmManager.RTC_WAKEUP, instance.getTimeInMillis(), 60000, pi);
//          am.set(AlarmManager.RTC_WAKEUP, instance.getTimeInMillis(),pi);}else {am.cancel(pi);//关闭闹钟}}

  回到Unity中:

  void Awake (){ClearNotifications();//android  清空推送}void Start (){androidNotification();//android 推送}
//android  推送public void androidNotification(){//LocalNotification.SendRepeatingNotification(1, 5000, 5000, "一起捕鱼吧", "炮声一响,黄金万两", new Color32(0xff, 0x44, 0x44, 255));AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");jo.Call("AndroidNotification");Debug.Log("android   通知功能=======");}//android  清空推送public void ClearNotifications(){AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");jo.Call("ClearShowing");Debug.Log("android   清空通知功能======="); }

Unity安卓本地推送相关推荐

  1. unity android本地推送,Unity安卓本地推送

    https://blog.csdn.net/macaopark/article/details/69053691 新建推送脚本:LocalReceive import android.annotati ...

  2. Unity 应用的消息推送《一》本地推送

    欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群 参考博客地址:https://blog.csdn.net/qq_37310110/article/details/804234 ...

  3. Unity如何接入本地推送 Mobile Notifications

    一. 前言 当一款游戏发展到一定阶段,必不可少的要接入推送SDK,推送功能,分为以下两种: 本地推送:玩家打开游戏后,给手机系统通知设置推送的倒计时,等游戏关闭后,倒计时结束时,手机会自动打开通知给用 ...

  4. IOS 本地推送和远程推送

    最近在研究iOS的推送问题,遇到了好多问题,经过很多大神的文章指点最终整理了一下,放在这里和大家分享. 准备工作 首先要有一台苹果的设备,模拟器是不支持推送的,所以你需要一台iphone,ipod t ...

  5. Swift 本地推送通知UILocalNotification

    Notification是智能手机应用开发中常用的信息传递机制,它不用消耗更多资源去不停的检查信息状态,可以非常好的节省资源. 在iOS中分为两种通知:本地.远程.本地的UILocalNotifica ...

  6. IOS 本地推送 IOS10.0以上 static的作用 const的作用

    //需要在AppDelegate里面启动APP的函数 加上 UIUserNotificationType types = UIUserNotificationTypeBadge | UIUserNot ...

  7. 极光推送收费标准_刚刚,安卓统一推送又有进展了!华为率先...

    点击上方"开发者技术前线",选择"星标"13:50 在看 真爱来自:统一推送联盟 众所周知,2017年,泰尔终端实验室联合包括华为.OPPO.vivo.小米.三 ...

  8. git 本地推送本地仓库到远程

    github或者gitee远程新建空仓库,在本地推送已有的仓库到远程新仓库. 1.远程新建新仓库,例如stm32repo 2.本地仓库添加远程仓库  git remote add origin htt ...

  9. SWIFT推送之本地推送(UILocalNotification)之二带按钮的消息

    上一篇讲到的本地推送是普通的消息推送,本篇要讲一下带按钮动作的推送消息,先上个图瞅瞅: 继上一篇的内容进行小小的改动: 在didFinishLaunchingWithOptions方法内进行以下修改 ...

最新文章

  1. sqlite复制数据主键重复_Flutter 数据库指南
  2. Could not get dialect instance.
  3. 【Spring】BeanFactory解析bean详解
  4. Font Rending 的 Hint 机制对排版的影响
  5. matlab vision工具箱使用手册,matlab-Computer Vision System ToolBox的系统对象使用
  6. python爬虫面试题
  7. java get null_java 获取对象中为null的字段实例代码
  8. 《Python编程从入门到实践》记录之类继承
  9. Civil3D二次开发Cookbook
  10. 2015职称计算机考试模拟,2015职称计算机考试《Dreamweaver》模拟试题(9)
  11. 计算机c语言报告册,计算机c语言实验报告.docx
  12. css样式基础库,WeUI基础样式库
  13. java 值班管理_​运维告警的值班管理
  14. iso硬盘安装 凤凰os_多系统下成功硬盘安装phoenix OS
  15. 什么是侧翼区(flanking region)和侧翼区单核苷酸多态性(Flanking SNPs)
  16. 可能是讲分布式系统最到位的一篇文章
  17. 字节跳动 数据分析 一轮技术面
  18. 【大疆DJI】安卓开发实习历程- 0.前期准备到面试(HR电话初面+技术一面+技术二面/终面+OC)
  19. Table里td中的文本过长,设置不换行,随内容同行显示
  20. 案例:爬取豆瓣电影Top250中的电影信息

热门文章

  1. Deepin安装SSH服务器
  2. openjudge 1.6.15 阶乘和
  3. 搜索练习2(P6207 [USACO06OCT] Cows on Skates G)
  4. C++:开发一个游戏逻辑引擎
  5. 微波电子线路之集总参数元件(1)
  6. 各种前端技术关系图和分类o(╥﹏╥)o
  7. 原生js实现form表单序列化的方法
  8. 2015年总结和2016年的规划
  9. iOS篇—Demo6—抽奖转盘
  10. BAT执行文件 按任意键开始退出