█ 【安卓学习之微信抢红包】 微信抢红包 2 - 通知服务(NotificationListenerService)
█ 相关文章:
● 【安卓学习之微信抢红包】 微信抢红包 1 - 知识点归纳
● 【安卓学习之微信抢红包】 微信抢红包 2 - 通知服务(NotificationListenerService)
█ 读前说明:
● 本文通过学习别人写demo,学习相关知识,如果涉及侵权请告知
● 本文只简单罗列相关的代码实现过程
● 涉及到的逻辑以及说明也只是简单介绍,主要当做笔记,了解过程而已
█ NotificationListenerService:
● 作用:监听系统通知栏的功能
● 条件:开启APP的【通知使用权】
█ 通知栏使用权限界面的跳转:
● 打开【通知栏】(即【通知和状态栏】)的设置
- 打开[微信抢红包]通知权限
Intent intent = new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS);
startActivity(intent);
● 【通知和状态栏】界面中有该选项,需要在【AndroidManifest.xml】文件中绑定对应的服务
- 微信抢红包服务-android.permission.BIND_ACCESSIBILITY_SERVICE
<service
android:name="service.QiangHongBaoService"
android:enabled="true"
android:exported="true"
android:label="微信123"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE" >
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/qianghongbao_packet_service" />
</service>
█ 微信抢红包服务(【无障碍】-【微信抢红包服务】详情页):
● 微信抢红包服务详情页如下:(只有一个开关,在不同手机上面的显示效果)
● 微信抢红包服务界面设计(qianghongbao_packet_service.xml文件):
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service
xmlns:android="http://schemas.android.com/apk/res/android"
android:description="启动抢红包服务,支持微信。"
android:accessibilityEventTypes="typeNotificationStateChanged
|typeWindowStateChanged
|typeWindowContentChanged
|typeWindowsChanged"
android:packageNames="com.tencent.mm"
android:accessibilityFeedbackType="feedbackGeneric"
android:notificationTimeout="100"
android:accessibilityFlags="flagDefault"
android:canRetrieveWindowContent="true"/>
PS1:这里只配置一个开关,查看了【91红包助手】、【百度输入法小米版】、【安全中心】、【小爱同学】等的辅助服务功能,都只有一个开关选项。
PS2:这里和QiangHongBaoService配置中的:android:resource =”@xml/ qianghongbao_ packet _service”一一对应。
█ 相关资料:
● 1.2017-07-25 Android Service两种启动方式详解(总结版) - imxiangzi - CSDN博客
转载请注明出处:
https://blog.csdn.net/ljb568838953/article/details/82378489