https://blog.csdn.net/macaopark/article/details/69053691

新建推送脚本: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 channels = new HashSet();

private NotificationManager manager;

@Override

public 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("currentActivity");

jo.Call("AndroidNotification");

Debug.Log("android 通知功能=======");

}

//android 清空推送

public void ClearNotifications()

{

AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");

AndroidJavaObject jo = jc.GetStatic("currentActivity");

jo.Call("ClearShowing");

Debug.Log("android 清空通知功能=======");

}

unity android本地推送,Unity安卓本地推送相关推荐

  1. unity android视频录制sdk,Unity中保存EveryPlay录制视频到本地的解决方案

    五月 14.2018. 0 Comment 在Unity中使用EveryPlay录制视频时,有如下问题: 1. EveryPlay API(截止到现在,之后Final Version可能会增加)不支持 ...

  2. unity android模糊ios清晰,Unity NGUI UI 在iOS端的锯齿、模糊、颗粒感问题

    一般我们在Unity项目中,都是美术给到图片,然后程序直接导入Unity,Android端给图片设置为 RBGA Compressed ETC2 8bit,iOS端给图片设置为 RBGA Compre ...

  3. unity android ndk的作用,Unity中编写Android下使用的so插件

    四月 24.2019. 0 Comment 在android上编写插件有多种路子: 1. c# portable library,用c#写的可移植的assembly.使用起来最简单.最方便,比如那些j ...

  4. Unity Android(七) Unity Android10读写权限

    PS:Android10读取权限发生了变化,即使应用权限里有读写权限可能也无法进行读写,主要是 需要 android:requestLegacyExternalStorage="true&q ...

  5. android 耳机数据线,如果买安卓手机不送充电器和耳机?你还买不买

    [PConline 聚超值] 一年一度的苹果 iPhone 12 爆料期又开始了, 今年硬件没什么惊喜,不过销售策略倒是引起了热议,因为出于控制成本的考虑,苹果可能不再赠送充电器及耳机,虽然苹果的原装 ...

  6. 安卓统一推送联盟,终于有消息了,统一推送时间表出炉

    [回复"1024",送你一个特别推送] 安卓统一推送联盟,自去年 7 月份被曝光,成立以来,只有刚刚成立时,引起了巨大的轰动,轰动的背后也一起了大家的反思或者质疑,感觉这个推送联盟 ...

  7. 关于Android安卓APP保活 - 安卓消息推送详解 - 安卓端外推送离线推送

    转自:http://zhangtielei.com/posts/blog-android-push.html 说Android端外推送比较烦,实际有两层意思:首先是说实现上比较麻烦,至今业界也没有找到 ...

  8. uniapp使用unipush推送及java后台推送代码(含本地打包apk使用unipush推送)

    你懂的,又是项目用到了,作为程序猿义无反顾需要定时 "进化" ,硬头皮去写,虽然曾经作为android开发者写了很多的推送,但是uniapp的推送也是有所差异的,记录一下,以后留用 ...

  9. Unity环境下实现Camera高帧率RTMP推送

    Unity下RTMP直播背景方面不再赘述,今天主要讨论的是,Unity环境下,如何实现Camera高帧率RTMP推送,这里提到的高帧率,不再局限于常规环境下的30帧,以VR头显为例,更高的帧率(比如5 ...

  10. Unity安卓游戏开发:打造7款2D 3D游戏 Unity Android Game Development : Build 7 2D 3D Games

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确) |大小:15.4 GB |时长:32h 55m Un ...

最新文章

  1. 那些轻轻拍了拍Attention的后浪们
  2. MySQL xtrabackup之--databases 勿手贱
  3. 6 HBase java API访问HBase数据库
  4. QT的QMenuBar类的使用
  5. (原创)优酷androidclient 下载中 bug 解决
  6. 第七章:在Spark集群上使用文件中的数据加载成为graph并进行操作(3)
  7. python使用python-docx导出word
  8. android tablelayout 点击,Android Design之TableLayout选项卡
  9. thinkphp怎么设置输入网址直接进入首页
  10. java int 位_java int是几位
  11. ngrinder安装
  12. Linux系统管理——账号管理与权限及归属管理实例
  13. 软件测试是做什么的?具体工作内容?
  14. endnote修改正文中参考文献标注_如何用endnote修改毕业论文后参考文献格式为毕业手册要求格式...
  15. 陈佩斯曾受邀喜剧综艺:被酬劳吓的恍惚好几天
  16. Android多维商品属性SKU选择
  17. 海康SDK的NET_DVR_GET_FTPCFG_V40
  18. 2023年最热门的网络安全岗位分析
  19. css3地球自转,CSS3 月亮围绕地球转动的3D动画
  20. python eel vue_VU - OSCHINA

热门文章

  1. HotSpot虚拟机对象的创建过程
  2. go的异常处理,defer,panic,recover
  3. 初入股市之 Hello Stock
  4. thinkphp框架细节
  5. Java对象表示方式2:XStream实现对对象的XML化
  6. 利用jQuery获取jsonp
  7. 书籍推荐——按内容划分
  8. [转]#pragma once和#pragma comment
  9. DOS命令输出的重定向
  10. 团队冲刺第二阶段-2