Auto.js通知栏
本教程分为三个部分:发送通知(自定义图片),通知栏下载进度显示,通知栏nodejs版。实现效果如下图。(代码下载在我的公众号:For My Future对应一文文末)
在写代码之前,首先要把软件通知权限都打开:
在第一次运行代码之后,会出现类别,把类别中的通知权限也给到:
一.发送通知
利用android.app.Notification这个类进行通知的创建,有两个重点:channel和builder,channel设置的是系统如何通知,比如设置通知显示的位置,通知是否震动等等,而通知真正的内容用builder来进行设置创建。
channel(详见代码注释):
var channel = new android.app.NotificationChannel("121695", "1671", android.app.NotificationManager.IMPORTANCE_HIGH);//Android8.0以上的的通知要设置渠道,否则就无法显示,第一个参数是channel_name,第二个参数是channel_id,自己随意设置channel.enableLights(true);//开启指示灯,如果设备有的话。channel.setLightColor(0xff0000);//设置指示灯颜色channel.setShowBadge(true);// 通知渠道是否在应用图标的右上角展示小红点channel.enableVibration(true);//是否震动channel.setBypassDnd(true);//绕过免打扰模式channel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC)//在锁屏界面显示channel.setDescription("QQ:1216951671")// getId() — 获取 ChannleId// enableLights() — 开启指示灯,如果设备有的话。// setLightColor() — 设置指示灯颜色// enableVibration() — 开启震动// setVibrationPattern() — 设置震动频率// setImportance() — 设置频道重要性// getImportance() — 获取频道重要性// setSound() — 设置声音// getSound() — 获取声音// setGroup() — 设置 ChannleGroup// getGroup() — 得到 ChannleGroup// setBypassDnd() — 设置绕过免打扰模式// canBypassDnd() — 检测是否绕过免打扰模式// getName() — 获取名称// setLockscreenVisibility() — 设置是否应在锁定屏幕上显示此频道的通知// getLockscreenVisibility() — 检测是否应在锁定屏幕上显示此频道的通知// setShowBadge() 设置是否显示角标// canShowBadge() — 检测是否显示角标// setImportance 重要程度
随后创建manager管理channel:
var manager = context.getSystemService(android.app.Service.NOTIFICATION_SERVICE); //NotificationManager对象来对通知进行管理
manager.createNotificationChannel(channel);//通过 NotificationManager 的 createNotificationChannel 方法来创建 NotificationChannel
builder:
notification = new android.app.Notification.Builder(context, "121695") //channel_id是自己取得,121695.setContentTitle("这是我的标题").setContentText("QQ:1216951671").setWhen(new Date().getTime())//时间毫秒格式.setSmallIcon(img3)//设置图片,下文会讲述怎么设置.setSubText(getLocalTime(new Date().getTime()))//毫秒转换时间格式.setTicker("更多精彩在公众号:For My Future")//第一次推送.setLargeIcon(largeimg3).setDefaults(Notification.DEFAULT_ALL) //打开呼吸灯,声音,震动,触发系统默认行为.setPriority(Notification.PRIORITY_HIGH) //设置该通知优先.setAutoCancel(true).setContentIntent(//设置点击事件PendingIntent.getActivity(//点击跳转context,0,new Intent().setComponent(//跳转到qq主界面new ComponentName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.SplashActivity") ),PendingIntent.FLAG_UPDATE_CURRENT)).build();} else { toast("没写")}
使用pro9notify()函数进行通知
manager.notify(1, notification);
自定义图片资源:
setLargeIcon()和setSmallIcon()参数都是icon类型的,如果直接设置图片会报错,所以要把图片先转换为bitmap格式,再转换成Icon类型的图标。
let img = images.read("./logo.png")//图片放在同级目录下largeimg = images.resize(img,64)//裁剪重设大小largeimg2 = largeimg.bitmap//转换bitmaplargeimg3 = Icon.createWithBitmap(largeimg2)//转换icon,右侧大图标img = images.resize(img,36)//左侧小图标img2 = img.bitmapimg3 = Icon.createWithBitmap(img2)
时间转换:
function getLocalTime(nS) { var d = new Date(parseInt(nS)); //根据时间戳生成的时间对象var date = (d.getFullYear()) + "." + (d.getMonth() + 1) + "." +(d.getDate()) + " " + (d.getHours()) + ":" + (d.getMinutes()) + ":" + (d.getSeconds()); return date;
}
二.通知栏下载进度显示
经过上网查询,利用DownloadManager是最简单的进度显示方法,这里以下载AutoJsPro的apk为例子。下载完成后文件保存在Download目录下
/*** 作者: 姜来式* QQ: 1216951671*/
var url = "https://cdn.autojs.org/autojspro-latest.apk"
importClass(android.content.Context);
importClass(android.os.Environment);
importClass(android.os.Build);
importClass(android.net.Uri);
importClass(android.app.DownloadManager);
request = new DownloadManager.Request(Uri.parse(url));
request.setDescription("正在下载...
Auto.js通知栏相关推荐
- Auto.JS 开发
From:https://blog.csdn.net/a6892255/article/details/107302369 autojs 代码大全(实战演练):https://blog.csdn.ne ...
- 【Auto.JS】Autojs官方提取文档使用说明函数 (2)
接上一篇文章:Autojs官方提取文档使用说明函数 (1) Images Stability: 2 - Stable images模块提供了一些手机设备中常见的图片处理函数,包括截图.读写图片.图片剪 ...
- auto.js开发网课搜题浮窗软件,类似按键精灵可浮窗式快速搜题
网课搜题浮窗软件实战开发一个浮窗式的安卓搜题软件 准备知识:javascript auto.js一些基础语法 打包工具:auto.js7.401 免费接口可以自己去找!网上一大堆. 学习资料领取及工具 ...
- Auto.js简单使用
Auto.js是使用JavaScript作为脚本语言 支持部分ES6特性 以下API是基于Auto.js4.X版本进行介绍 "自动操作"的部分又可以大致分为基于控件和基于坐标的操作 ...
- 【autojs】Auto.js Pro截图取色脚本源代码
代码 /***完成时间: 2019年4月18日 下午9:42:35*测试机型: vivo PD1813D*Auto.js版本: 4.1.0 Alpha5*Android版本: 8.1.0*屏幕: 10 ...
- Auto.js食用指南
Auto.js食用指南 控件点击是autojs特有的一项功能,基于安卓的无障碍功能的,在软件上有很好的支持,常用于办公软件等- 前言: 软件选择: auto.js 8.0pro版本(对比4.0版本有阉 ...
- apk解密工具_手机端操作| Auto.js一键解密/一键加密工具免费分享
? 关注『掌玩小子』 带你『体验极客』 1 在之前的博文中,我前后分享了Auto.js相关的加密解密的文档,如<Auto.js Pro离线打包源代码加密算法分析><来 给你代码!A ...
- Auto.js 调用系统短信、电话
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! Auto.js 调用系统短信.电话 操作 ...
- Auto.js 抖音--留痕--参数分析
环境: VS Code Auto.js Pro 7.0.4 安卓全机型 跳转 // 会在手机显示一个控制台,打印的信息会在手机端显示(需要开启悬浮窗权限) // autojs在手机端显示调试信息,也就 ...
最新文章
- latex中插入visio矢量图的方法
- 关闭子窗口刷新父窗口
- python自动汇总excel_RPA手把手:Python轻松实现EXCEL自动化
- 百度搜索关键字抓取_百度搜索引擎收录的抓取规则 - 蜘蛛池
- Fritzing添加新的元件库的方法
- Execution failed for task ':app:mergeDebugResources
- protocol buffer开发指南
- python中进制转换函数_Python内置函数进制转换的用法
- Linux跨平台编译安卓版本protobuf库——趟坑记录
- java weka 分类_Weka开发[48]——用Weka文本分类
- 考研篇:如何在偶数年数学120+(刷同样的题,为什么有人的分数会更高?)
- linux 时间 time(2)-频率(时钟周期/指令周期/CPU周期)和 jiffies
- iOS透明导航栏的平滑过渡(进阶版)
- CATIA V5-6 R2017 支架类零件设计
- Redis桌面管理工具RedisDesktopManager
- 安装oculus运行时出现问题_安装软件时出现解析包出现问题是什么原因
- C# Culling Mask
- Java网课资源分享
- Matlab高光谱遥感数据处理与混合像元分解实践技术
- LaTeX学习日记(持续更新)
热门文章
- edi mysql_EDI:_数据库基础(mysql)答案_学小易找答案
- 知道一点怎么设直线方程_不知道怎么购买普洱茶?来积累一点硬知识!
- 用keras tuner 来优化tensorflw超参数
- AI研究生的文学情怀,厦大硕士毕业生文言致谢聊三年求学路
- rss阅读器保存html文件,4款在线RSS阅读器使用体验
- 批量实现json_to_dataset将json文件转换为训练所需的dataset
- 树莓派4通过华为ME909S 4G模块连接蜂窝网(非PPP)
- 网易杭研易盾实习心得(4)
- 转型OMO的背后:考虑机构的资金和实力-线上线下融合式教学
- 【字节搜索校招/社招/实习内推】