android获取应用安装通知消息,Android爬取第三方app推送消息,获取应用通知信息...

本文介绍如何在Android中实现获取应用安装和第三方app推送通知。通过自定义`NotificationMonitorService`继承`NotificationListenerService`,并在`onNotificationPosted`和`onNotificationRemoved`方法中捕获和处理通知信息。在`AndroidManifest.xml`中注册服务,并在Activity中判断并开启监听权限。
部署运行你感兴趣的模型镜像

来不及解释,直接上效果图

c58776a9fb12?from=timeline@

抓去状态栏消息

c58776a9fb12?from=timeline@

Activity

c58776a9fb12?from=timeline@

NotificationMonitorService

c58776a9fb12?from=timeline@

AndroidManifest.xml

不想敲代码就复制下方代码

Androdi代码

自定义 NotificationMonitorService  继承 NotificationListenerService

import android.app.Notification;

import android.os.Bundle;

import android.service.notification.NotificationListenerService;

import android.service.notification.StatusBarNotification;

import android.util.Log;

public class NotificationMonitorService  extends NotificationListenerService {

// 在收到消息时触发

@Override

public void onNotificationPosted(StatusBarNotification sbn) {

// TODO Auto-generated method stub

Bundle extras = sbn.getNotification().extras;

// 获取接收消息APP的包名

String notificationPkg = sbn.getPackageName();

// 获取接收消息的抬头

String notificationTitle = extras.getString(Notification.EXTRA_TITLE);

// 获取接收消息的内容

String notificationText = extras.getString(Notification.EXTRA_TEXT);

Log.i("NotificationInfo", " Notification posted " + notificationTitle +" & " + notificationText);

}

// 在删除消息时触发

@Override

public void onNotificationRemoved(StatusBarNotification sbn) {

// TODO Auto-generated method stub

Bundle extras = sbn.getNotification().extras;

// 获取接收消息APP的包名

String notificationPkg = sbn.getPackageName();

// 获取接收消息的抬头

String notificationTitle = extras.getString(Notification.EXTRA_TITLE);

// 获取接收消息的内容

String notificationText = extras.getString(Notification.EXTRA_TEXT);

Log.i("NotificationInfo", " Notification removed " + notificationTitle +" & " + notificationText);

}

}

注册 AndroidManifest.xml

android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">

Activity 代码

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 判断是否开启监听通知权限

if (NotificationManagerCompat.getEnabledListenerPackages(this).contains(getPackageName())) {

Intent serviceIntent =new Intent(this, NotificationMonitorService.class);

startService(serviceIntent);

}else {

// 去开启 监听通知权限

startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));

}

}

如果应用在后台被干掉  可以通过第三推送唤醒应用

您可能感兴趣的与本文相关的镜像

ComfyUI

ComfyUI

AI应用
ComfyUI

ComfyUI是一款易于上手的工作流设计工具,具有以下特点:基于工作流节点设计,可视化工作流搭建,快速切换工作流,对显存占用小,速度快,支持多种插件,如ADetailer、Controlnet和AnimateDIFF等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值