V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
dreamingincode
V2EX  ›  分享创造

微信通知增强!(下拉聊天记录、防撤回) [Android]

  •  2
     
  •   dreamingincode ·
    zhanghai · 2017-08-17 11:07:58 +08:00 · 13570 次点击
    这是一个创建于 2658 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前是使用 Nevolution X 的,但是发现在 Android N 上已经失效了,所以自己造了一个。

    phone-2.png

    应用可以通过 NotificationListenerService 来读取微信发布的通知,并重新发布一个改进版本来利用新版本 Android 的许多通知特性。

    功能:

    • 使用 Android Nougat 引入的 MessagingStyle 风格通知(兼容旧版本系统)
    • 在展开通知中查看未读的聊天记录
    • 记录被撤回的文本消息
    • 显示圆形通知图标(可选)
    • 其他通知选项调整

    效果图:

    notification-1.png notification-2.png

    遗憾的是本应用可能不支持 MIUI 等对通知界面魔改过多的系统。

    // 应用真实名称应为“微信通知增强”,Application 名为“微信”是为了通知中 app 名称一致,而 Activity 实际使用“通知增强 for 微信”是为了通过 Google Play 审核(不能以“微信”开头否则判定为冒充)。

    第 1 条附言  ·  2017-08-20 16:38:03 +08:00
    62 条回复    2019-01-31 12:40:23 +08:00
    lgpqdwjh
        1
    lgpqdwjh  
       2017-08-17 12:52:59 +08:00
    点赞
    jimbray
        2
    jimbray  
       2017-08-17 13:38:39 +08:00
    厉害
    243205964
        3
    243205964  
       2017-08-17 17:33:43 +08:00 via Android
    收到消息后,点开微信读了消息,通知并不会消失,还得自己划掉。
    fakeJas0n
        4
    fakeJas0n  
       2017-08-17 17:42:58 +08:00
    试用一下
    WildCat
        5
    WildCat  
       2017-08-17 18:24:07 +08:00 via iPhone
    开源嘛
    a764686509
        6
    a764686509  
       2017-08-17 18:46:44 +08:00 via Android
    幸运的是 miui9 可用。🤔
    lozzow
        7
    lozzow  
       2017-08-17 18:50:30 +08:00 via Android
    ![Screenshot_20170817-184859.png]( https://i.loli.net/2017/08/17/599574bee20da.png) 图标大小不一样,感觉很难受
    bayernmunchen
        8
    bayernmunchen  
       2017-08-17 18:59:11 +08:00 via Android
    先收藏
    JesseLexin
        9
    JesseLexin  
       2017-08-17 19:14:23 +08:00 via Android
    @lozzow 亲,我想请教下你:屏幕左上角那个 G 是怎么弄出来的呢?另外还有,屏幕右上角的时间显示,怎么才能删啊?刚入手 7.0 系统两眼一抹黑。
    lozzow
        10
    lozzow  
       2017-08-17 19:20:42 +08:00 via Android
    @JesseLexin 我是刷的 lineage os ,启动器是 pixel launcher,右上角的时间可以在设置里面设置,我不清楚你的是怎么设置的
    kn007
        11
    kn007  
       2017-08-17 19:46:00 +08:00
    支持一下。。但是这种方式图片撤回,应该不行吧?
    xrui
        12
    xrui  
       2017-08-17 19:57:58 +08:00 via iPhone
    @a764686509 MIUI8 不行😂许多消息挤在一起
    dreamingincode
        13
    dreamingincode  
    OP
       2017-08-18 00:05:30 +08:00
    @243205964 因为并不是微信本身,不能知道消息已读了——你可以使用那个创建微信快捷方式的功能,这样点开微信就能关掉通知,和微信本来的效果一样
    dreamingincode
        14
    dreamingincode  
    OP
       2017-08-18 00:07:53 +08:00
    @lozzow 这个应用创建的是左边的还是右边的?比较奇怪,因为代码是直接读取微信的图标资源然后创建的,理论上应该是一样的。
    dreamingincode
        15
    dreamingincode  
    OP
       2017-08-18 00:09:28 +08:00
    @a764686509 @xrui 噗,我是身边有人测试到 MIUI ( 8 ?)展开通知里挤在一起,大为震惊,所以加了这句话的。MIUI 9 能用真是太好了 w
    dreamingincode
        16
    dreamingincode  
    OP
       2017-08-18 00:10:05 +08:00
    @kn007 嗯,这是不行的,因为微信发的通知里本身没有图片
    lozzow
        17
    lozzow  
       2017-08-18 00:24:40 +08:00 via Android
    @dreamingincode 创建的左边的,微信自己是右边,逼死假装的强迫症
    fantasy467047
        18
    fantasy467047  
       2017-08-18 00:30:21 +08:00 via Android
    厉害了,腾讯的残次品需要第三方的拐杖才能用
    dreamingincode
        19
    dreamingincode  
    OP
       2017-08-18 00:51:33 +08:00
    @lozzow 嗯,我觉得按照微信本来的图标大小应该是左边的——右边那个小一些的是你有特殊处理过么?
    dikT
        20
    dikT  
       2017-08-18 08:52:00 +08:00 via Android
    s8 表示只有设置界面,没有撤回消息管理界面
    leeruud
        21
    leeruud  
       2017-08-18 08:54:29 +08:00 via Android
    原来你是那个豆芽开发者呀,弃坑了么(
    yueyueniao89
        22
    yueyueniao89  
       2017-08-18 09:19:10 +08:00 via Android
    华为表示,不论有几条消息,通知栏里只显示最新的一条😭
    dreamingincode
        23
    dreamingincode  
    OP
       2017-08-18 09:27:45 +08:00
    @dikT 拉开通知可以看到最近的通知消息,撤回的消息不会消失
    dreamingincode
        24
    dreamingincode  
    OP
       2017-08-18 09:28:04 +08:00
    @leeruud 没,日用一年多了
    dreamingincode
        25
    dreamingincode  
    OP
       2017-08-18 09:28:54 +08:00
    @yueyueniao89 双指向下拉开通知?
    b821025551b
        26
    b821025551b  
       2017-08-18 09:49:47 +08:00
    安卓 8.0 表示,打开服务后通知消失了,只有震动。。。然后,求恢复软件的串码。。。。
    yongshou
        27
    yongshou  
       2017-08-18 10:25:24 +08:00 via Android
    需要 root 吗?
    a764686509
        28
    a764686509  
       2017-08-18 12:09:30 +08:00 via Android
    @dreamingincode 好像我跟楼下的一样,显示最新一天,改天测试完再回来回复
    dreamingincode
        29
    dreamingincode  
    OP
       2017-08-18 15:43:23 +08:00
    @b821025551b 噗,刷了 Developer Preview ?我还没在 O 上测试过
    idblife
        30
    idblife  
       2017-08-18 15:44:21 +08:00
    有能自动保存撤回图片功能吗
    dreamingincode
        31
    dreamingincode  
    OP
       2017-08-18 15:44:44 +08:00
    @yongshou 不需要。以及借楼,上一层问的串码是 *#*#932428#*#*( wechat 的九宫格数字)
    dreamingincode
        32
    dreamingincode  
    OP
       2017-08-18 15:45:38 +08:00
    @idblife 不可行,这个需要 XPosed,或者需要一直开着微信用 accessibility 自动化。
    idblife
        33
    idblife  
       2017-08-18 16:34:03 +08:00
    @dreamingincode
    Electronic WeChat 是一款第三方微信客户端,支持拖入图片、文件即可发送,能够阻止他人撤回消息,可以显示贴纸消息,以及直接打开重定向的链接。

    这个是啥原理呢?
    hronro
        34
    hronro  
       2017-08-18 16:41:09 +08:00
    @idblife #33 Electronic WeChat 是桌面版吧
    Cannikin
        35
    Cannikin  
       2017-08-18 16:51:00 +08:00
    三星 s6 edge 表示撤回窗口都看不到。
    dreamingincode
        36
    dreamingincode  
    OP
       2017-08-18 16:51:53 +08:00 via Android
    @idblife 那个是微信的 Web API,而这个应用只能读取手机微信的通知文本
    idblife
        37
    idblife  
       2017-08-18 17:02:21 +08:00
    @dreamingincode
    哦哦
    明白了
    fantasy467047
        38
    fantasy467047  
       2017-08-18 18:20:03 +08:00 via Android
    不知道为什么楼主不顺便把多个联系人被分开的多条通知合并成一条,像 telegram 和 g+那样。
    dphdjy
        39
    dphdjy  
       2017-08-18 18:32:45 +08:00 via Android
    和 QQ 通知增强,蜜汁类似
    lozzow
        40
    lozzow  
       2017-08-18 18:48:34 +08:00 via Android
    @dreamingincode 我是把显示设置为小了,但是我尝试恢复之后,你这个图标还是要大一圈😂
    hoosin
        41
    hoosin  
       2017-08-18 18:54:58 +08:00
    已报警
    dreamingincode
        42
    dreamingincode  
    OP
       2017-08-19 00:25:56 +08:00
    @fantasy467047 个人习惯问题吧,以及在 Nougat 以上大于 3 条时是有自动合并的。
    dreamingincode
        43
    dreamingincode  
    OP
       2017-08-19 00:27:23 +08:00
    @dphdjy 嗯,参照了很多它的设计(可能应该加个致谢?
    20015jjw
        44
    20015jjw  
       2017-08-19 03:40:22 +08:00 via Android
    pixel 试了一下 不能展开
    dreamingincode
        45
    dreamingincode  
    OP
       2017-08-19 04:35:59 +08:00
    @20015jjw
    😨 理论上 AOSP 应该很支持的
    求一个截图?
    8bit
        46
    8bit  
       2017-08-19 09:22:04 +08:00 via Android   ❤️ 1
    @JesseLexin 那是 Google Now
    rility
        47
    rility  
       2017-08-19 11:03:34 +08:00
    @dreamingincode 能不能麻烦把转播含内容的广播处理一下。。用豆芽时间线一下少了一半
    dreamingincode
        48
    dreamingincode  
    OP
       2017-08-19 12:51:20 +08:00
    @rility 用的是 API V2,可以看到“豆瓣广播” app 也没有,是官方过滤了;转接到 Frodo API 需要比较大的工作量,然后也会丢失一部分广播(小站、喜欢、关注等),所以一直还没做
    fantasy467047
        49
    fantasy467047  
       2017-08-19 13:20:27 +08:00 via Android
    @dreamingincode 这样同一个 app 会在通知栏上显示好几个图标,非常奇葩啊,因为除了微信其他 app 好像没有这样的,都是只显示一个图标
    dreamingincode
        50
    dreamingincode  
    OP
       2017-08-19 14:44:50 +08:00
    @fantasy467047
    QQ 可能也是?因为这是微信的默认行为,然后我个人的用法是没用的群聊全部免打扰,如果图标太多正好催促自己处理。
    做通知合并的话我需要维护通知状态(是否被点掉了),要多写一些代码 w 有时间或许做成捐助功能?
    ferencz
        51
    ferencz  
       2017-08-19 17:27:53 +08:00
    如果可以的话,能不能添加一个指定信息提醒功能?当新信息中出现指定字符,自动震动或者播放音乐提醒。这样就方便监控信息了。谢谢了。:-)
    gason406
        52
    gason406  
       2017-08-19 20:30:05 +08:00
    好评。本来一直在用通知增强 for qq,但是微信一直没有,现在齐活了
    dreamingincode
        53
    dreamingincode  
    OP
       2017-08-20 02:10:48 +08:00
    @ferencz 捐赠功能 2 (特别关心 /关键字),有些麻烦,但可以考虑 w
    dreamingincode
        54
    dreamingincode  
    OP
       2017-08-20 16:25:43 +08:00
    @fantasy467047
    做好了,因为没有各种设备充分测试,上架了 Play 的 Beta 测试:
    https://play.google.com/apps/testing/me.zhanghai.android.wechatnotificationtweaks2

    你可以试试?
    lavazawinul
        55
    lavazawinul  
       2017-08-21 12:32:20 +08:00
    一加 3T Oxygen OS ( Android 7.1 )好像没用,安装完之后直接打开了微信,通知没有任何变化,也没有任何设置界面。
    dreamingincode
        56
    dreamingincode  
    OP
       2017-08-21 13:31:41 +08:00   ❤️ 1
    @lavazawinul
    需要在应用抽屉里打开然后授权; Play 直接打开是微信是为了在 7.0+ 上系统生成 3 条以上自动合并的通知时,点击能够打开微信
    (我的配置和你完全一样 w
    EdiTurn
        57
    EdiTurn  
       2017-08-22 11:16:54 +08:00
    目前在 Android 8.0 上无法发布通知,也无法建立快捷方式,希望楼主可以进行适配。

    dreamingincode
        58
    dreamingincode  
    OP
       2017-08-24 04:29:19 +08:00
    @EdiTurn 没有亲儿子( Nexus 9 居然没有 Oreo 了),今天在虚拟机上调了一下刚刚发布到了 Play,几个小时以后应该能好?
    leafonsword
        59
    leafonsword  
       2018-01-17 18:58:50 +08:00
    miui9 看不了撤回功能呀,发送消息和撤回显示了“ 2 条消息”,求作者支持!
    funnypc
        60
    funnypc  
       2018-09-30 23:04:50 +08:00
    原生勿扰模式,全靠这个活着了。

    希望作者 @dreamingincode 能更新一下,添加:

    将按 用户 / 群 / 内容 自定义规则扩展到支持添加任意多条规则(一条不够用呀 T_T )
    每条规则除可设置铃声外,还可以设置是否显示通知(过滤)
    自定义图标(解决图标大小不正常问题)
    sparky0915
        61
    sparky0915  
       2019-01-09 10:37:40 +08:00
    没有更新了?
    dxppp
        62
    dxppp  
       2019-01-31 12:40:23 +08:00 via Android
    @sparky0915 https://sspai.com/post/52473
    https://ojhdt.club/20180830/nevolution/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5955 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 06:17 · PVG 14:17 · LAX 22:17 · JFK 01:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.