永发信息网

unity3d 本地推送 怎么实现杀掉进程后仍然显示推送

答案:1  悬赏:0  手机版
解决时间 2021-03-24 02:59
  • 提问者网友:遮云壑
  • 2021-03-23 10:02
unity3d 本地推送 怎么实现杀掉进程后仍然显示推送
最佳答案
  • 五星知识达人网友:長槍戰八方
  • 2021-03-23 11:33
需要完成一个提供三个功能的模块:
1、设定X秒后显示一条推送通知;
2、设定X秒后显示一条通知,之后每天再显示一次;
3、清除本应用的所有推送。


开始:
1、  创建jar包工程
创建的时候要引入两个第三方jar包。
一个是Unity的包,地址: Unity安装目录EditorDataPlaybackEnginesandroidplayereleaseinclasses.jar(貌似4.x的目录和5.x不太一样,但总之就是找到androidplayer里面的classes.jar)
还有一个是安卓SDK的包,地址: 安卓SDK安装目录platforms安卓版本android.jar

2、  编码
思路就是使用AlarmManager服务,在一定时间后发起广播,然后通过接收器接受展示。如果你做过安卓开发,对这段代码肯定不会陌生。如果没做过也没关系,当成一个黑盒,在需要的时候调接口就行。
首先添加一个Java类,注意父类要设为BroadcastReceiver。

添加完成后,就可以开始写了:





3、  导出jar包
在项目上右键——Export,导出为jar格式。

4、添加AndroidManifest.xml
安卓应用中如果要让应用收到广播,还需要在AndroidManifest.xml中加入receiver标签。我们创建的项目是一个Java项目,不会自动生成AndroidManifest,所以需要手动写一个:

● 注意“”这里名字要和前面Java代码中的一致。
5、  在U3D项目中调用
创建一个新的U3D项目,在界面上放一个Text和两个Button:

然后将导出的jar文件和AndroidManifest.xml文件移动到 U3D项目目录AssetsPluginsAndroid下:

在几个UI的父节点上加一个脚本,内容如下:



● 注意实例化AndroidJavaObject的参数名字要和Java工程的包名类名一致。
然后绑定控件和事件方法。绑定好后先编译一下,如果通过了,就可以导出一个apk包了。将这个包安装到安卓设备上。手头没有安卓设备,就用模拟器来测试:

点击“Show”按钮,10秒后会收到通知(点击后可将应用至后台,或杀掉),而点击“Clean”按钮,通知都会被清除,至此,这个通知插件就完成了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯