
同一个地方,换了条短裤,抖音上还有发每日 ootd 的主播,主打每日不重样,不过我是没那么多穿搭啊,肯定会重复的。嘻嘻。最近抖音一直给我推一个品牌的丝袜,主打是防晒+无裆缝设计。
于是呢,在看了数天广告之后终于买了,79.9 三条,对我来说这个价格并不算便宜,尤其是对于丝袜这种消耗品来说。

言归正传,这是关于 unipush的第三篇文章,第一篇文章写过关于推送之安卓桌面图标角标的问题。
Uniapp 原生插件开发
本质上,这篇文章算是对上篇文章的延续。主要说一下安卓系统上如何设置桌面角标,对于 ios 系统相对来说比较简单,直接调用uni 的
plus.runtime.setBadgeNumber(count);
plus.runtime.setBadgeNumber(count);
即可实现。
对于安卓系统,在上篇文章中也提过,本质上是对各种安卓的桌面 launcher 的适配。如果搜索一下,也能找到一些相关的文档。同样,在 uni 的官方插件市场内可以找到一个设置角标的原生插件:

插件售价 19.9,我并没有购买这个插件,一个是不知道效果具体如何,另外一个原因是如果说插件支持性不好,那最后还得自己去实现相关功能。
不过插件是支持使用的,点击试用 之后即可修改 manifest 选择云端插件打自定义基座包进行测试:

这不是本文的重点,所以就不细说了。不过不知道是不是大家对于推送角标问题都已经解决了还是觉得这么简单的问题不值得说,网上搜一下关于 uniapp 的 unipush 角标问题搜索结果寥寥无几,要不搜素到的文章就都是废话,听君一些话,胜似一席话,也可能是自己搜索的方式不对。
要实现角标设置,最直接的几个办法:
1.找现成的代码,或者安卓相关的文档;
2.逆向大厂的 app,比如微信、qq 之类的。
当然最简单的还是第一个办法,毕竟逆向分析的代码,写起来也有些麻烦。当然上面的前提是,还是基于原生插件去做,直接 uni 是解决不了的。
很幸运的找到了几份代码以及一些相关的文档:
https://blog.csdn.net/weixin_48488560/article/details/130420568 代码见下面第一条链接
https://gitee.com/hzuqbt/badge-number (works)
https://github.com/hacket/LauncherBadge (not work)
https://www.cnblogs.com/slmk/p/8822112.html
https://segmentfault.com/a/1190000024553355
https://blog.csdn.net/weixin_48488560/article/details/130420568 代码见下面第一条链接
https://gitee.com/hzuqbt/badge-number (works)
https://github.com/hacket/LauncherBadge (not work)
https://www.cnblogs.com/slmk/p/8822112.html
https://segmentfault.com/a/1190000024553355
https://blog.csdn.net/weixin_48488560/article/details/130420568 代码见下面第一条链接
https://gitee.com/hzuqbt/badge-number (works)
https://github.com/hacket/LauncherBadge (not work)
https://www.cnblogs.com/slmk/p/8822112.html
https://segmentfault.com/a/1190000024553355
针对https://gitee.com/hzuqbt/badge-number这份代码来说,相关的功能实现还算是比较清晰的。

这份代码在设置badge count 的时候,同时调用了下面的方法:
public void setNotification(Context context, int number, String title, String desc)
public void setNotification(Context context, int number, String title, String desc)
public void setNotification(Context context, int number, String title, String desc)
这样会创建一条本地通知,在实际转成原生插件的时候可以去掉,无需创建本地通知。
另外,直接跑这份代码直跑不通的的会提示没有权限,需要在 manifest 中添加权限申请:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>
<uses-permission android:name="com.android.launcher2.permission.READ_SETTINGS"/>
<uses-permission android:name="com.android.launcher2.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.android.launcher3.permission.READ_SETTINGS"/>
<uses-permission android:name="com.android.launcher3.permission.WRITE_SETTINGS"/>
<uses-permission android:name="org.adw.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="org.adw.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.htc.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.qihoo360.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.qihoo360.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.lge.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.lge.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="net.qihoo.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="net.qihoo.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="org.adwfreak.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="org.adwfreak.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="org.adw.launcher_donut.permission.READ_SETTINGS"/>
<uses-permission android:name="org.adw.launcher_donut.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher3.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher3.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.fede.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.fede.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.sec.android.app.twlauncher.settings.READ_SETTINGS"/>
<uses-permission android:name="com.sec.android.app.twlauncher.settings.WRITE_SETTINGS"/>
<uses-permission android:name="com.anddoes.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.anddoes.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.tencent.qqlauncher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.tencent.qqlauncher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher2.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher2.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.android.mylauncher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.android.mylauncher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.ebproductions.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.ebproductions.android.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.oppo.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.oppo.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.lenovo.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.lenovo.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="telecom.mdesk.permission.READ_SETTINGS"/>
<uses-permission android:name="telecom.mdesk.permission.WRITE_SETTINGS"/>
<uses-permission android:name="dianxin.permission.ACCESS_LAUNCHER_DATA"/>
<uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>
<uses-permission android:name="com.android.launcher2.permission.READ_SETTINGS"/>
<uses-permission android:name="com.android.launcher2.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.android.launcher3.permission.READ_SETTINGS"/>
<uses-permission android:name="com.android.launcher3.permission.WRITE_SETTINGS"/>
<uses-permission android:name="org.adw.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="org.adw.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.htc.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.qihoo360.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.qihoo360.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.lge.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.lge.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="net.qihoo.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="net.qihoo.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="org.adwfreak.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="org.adwfreak.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="org.adw.launcher_donut.permission.READ_SETTINGS"/>
<uses-permission android:name="org.adw.launcher_donut.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher3.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher3.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.fede.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.fede.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.sec.android.app.twlauncher.settings.READ_SETTINGS"/>
<uses-permission android:name="com.sec.android.app.twlauncher.settings.WRITE_SETTINGS"/>
<uses-permission android:name="com.anddoes.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.anddoes.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.tencent.qqlauncher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.tencent.qqlauncher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher2.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher2.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.android.mylauncher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.android.mylauncher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.ebproductions.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.ebproductions.android.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.oppo.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.oppo.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.lenovo.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.lenovo.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="telecom.mdesk.permission.READ_SETTINGS"/>
<uses-permission android:name="telecom.mdesk.permission.WRITE_SETTINGS"/>
<uses-permission android:name="dianxin.permission.ACCESS_LAUNCHER_DATA"/>
<uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>
<uses-permission android:name="com.android.launcher2.permission.READ_SETTINGS"/>
<uses-permission android:name="com.android.launcher2.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.android.launcher3.permission.READ_SETTINGS"/>
<uses-permission android:name="com.android.launcher3.permission.WRITE_SETTINGS"/>
<uses-permission android:name="org.adw.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="org.adw.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.htc.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.qihoo360.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.qihoo360.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.lge.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.lge.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="net.qihoo.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="net.qihoo.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="org.adwfreak.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="org.adwfreak.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="org.adw.launcher_donut.permission.READ_SETTINGS"/>
<uses-permission android:name="org.adw.launcher_donut.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher3.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher3.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.fede.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.fede.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.sec.android.app.twlauncher.settings.READ_SETTINGS"/>
<uses-permission android:name="com.sec.android.app.twlauncher.settings.WRITE_SETTINGS"/>
<uses-permission android:name="com.anddoes.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.anddoes.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.tencent.qqlauncher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.tencent.qqlauncher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher2.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher2.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.android.mylauncher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.android.mylauncher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.ebproductions.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.ebproductions.android.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.oppo.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.oppo.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.lenovo.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.lenovo.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="telecom.mdesk.permission.READ_SETTINGS"/>
<uses-permission android:name="telecom.mdesk.permission.WRITE_SETTINGS"/>
<uses-permission android:name="dianxin.permission.ACCESS_LAUNCHER_DATA"/>
<uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
在实际调试的时候建议还是直接 apk 打包调试,一切功能正常之后再往原生插件进行移植。不然直接调试原生插件比调试 apk 要麻烦多了,在调试的过程中一度有了放弃的想法,想着实在不行就用那个 19 块钱的插件了。不过好在后来还是解决问题了,整体而言,就是整合代码添加权限,然后就 ok 了。
在 uni 中分别进行处理就 ok 了:
if (plus.os.name == "Android") {
const babyBadgeModule = uni.requireNativePlugin('babyBadgeModule');
// console.log(babyBadgeModule)
babyBadgeModule.setLauncherBadgeCount({
plus.runtime.setBadgeNumber(count);
setBadgeCount(count) {
// #ifdef APP
if (plus.os.name == "Android") {
const babyBadgeModule = uni.requireNativePlugin('babyBadgeModule');
// console.log(babyBadgeModule)
babyBadgeModule.setLauncherBadgeCount({
COUNT: count
}, result => {});
} else {
plus.runtime.setBadgeNumber(count);
}
// #endif
},
setBadgeCount(count) {
// #ifdef APP
if (plus.os.name == "Android") {
const babyBadgeModule = uni.requireNativePlugin('babyBadgeModule');
// console.log(babyBadgeModule)
babyBadgeModule.setLauncherBadgeCount({
COUNT: count
}, result => {});
} else {
plus.runtime.setBadgeNumber(count);
}
// #endif
},
不过这次更新要做的内容比较多,发版就等端午之后再说吧。


obaby
爱好广泛的火星小妖精,有问题欢迎留言交流啊~(✪ω✪)
爬虫类工具请先点击这个链接查看用法https://oba.by/?p=12240
闺蜜圈APP下载 https://guimiquan.cn
33 comments
沙发,还出续集了
坐观蓝色小裤裤+丝袜
这个破玩意儿,要是想写,还能写
uniapp这个原生的好用,如果是我,我不懂的时候,只能用css自己写了
有的功能必须得原生插件搞,靠 uni 是搞不动的
丝袜好评
咦,这是续集吗??
是推荐丝袜呢?还是推荐你的app
app,丝袜还没试呢,
收益应该不错,还需要股东不
收益?神马收益?
你要来跟我分担服务器费用吗?
目前为止都是投入,我连广告模块都没加。哈哈哈
我还以为收益不错
神马?和你分担服务器费用?不敢不敢,你把机柜都搬回家了……承受不住了 哈
别这么快就放弃嘛
主打一个永不放弃
钱除外 哈哈
说还发就发啊,向钟MM学习!
那可不,就这么准时
丝袜和防晒两个词语放在一起就很违和,这是硬找了一条赛道啊。
你看,人家这个就很专业。
硬生生的给结合到一块去了。哈哈
在我的期望中,丝袜要么耐磨——悦己,要么易撕——悦人。防晒是个拐弯都想不着的需求。
现在还有另外一种,面膜丝袜,反正是各种新颖的东西。
对于你期望的两种,我还是觉得耐磨更实用。主要是不脱丝,随意剪,不过多数丝袜宣传这个,都达不到这个效果,一旦勾丝之后还是一条条的,就很讨厌。
之前问题解决了吗?
解决了~~
你这个层次的技术,我一丁点都看不懂,多出些教材教教我们
也没啥 都是比较基础的东西
插件才20块钱,也不算太贵嘛
价格其实不是关键,不开源的东西出了问题修复是个问题。
自从用了 uniapp 之后,腿不酸了,腰不疼了,一口气爬五楼不费劲了。
哈哈Uni这么神奇吗
你也试试
如果你在淘宝拼多多上看看,或许比抖音还便宜
说的很有道理
额,让你说对了。果然拼夕夕更便宜啊,49.9 三条。果然不能在抖音买东西
所以现在抖音直播,跟我们以前的电视购物一个样。
嗯嗯,之前看的一个剃毛的,感觉还可以。后来上京东一看,结果比抖音折扣完还便宜。
你是懂兄弟们的,有格局
主打一个宠粉~~