Android 如何监听QQ或者微信正在语音或者视频通话

1.创建通知监听服务

public class DemoNotificationListener extends NotificationListenerService {
    @Override
    public void onNotificationPosted(StatusBarNotification sbn) {
        String packageName = sbn.getPackageName();
        if (packageName.equals("com.tencent.mobileqq") || packageName.equals("com.tencent.mm")) {
            Notification notification = sbn.getNotification();
            if ((notification.flags & Notification.FLAG_ONGOING_EVENT) != 0) {
                // 判断通知内容是否包含通话关键词(如“通话中”)
                String text = notification.extras.getString(Notification.EXTRA_TEXT);
                if (text != null && (text.contains("通话中") || text.contains("视频通话"))) {
                    // 更新状态为正在通话
                }
            }
        }
    }

    @Override
    public void onNotificationRemoved(StatusBarNotification sbn) {
        // 通知被移除时更新状态
    }
}

2.注册监听服务

<service
    android:name=".DemoNotificationListener"
    android:label="Notification Listener"
    android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
    <intent-filter>
        <action android:name="android.service.notification.NotificationListenerService" />
    </intent-filter>
</service>

3.请求用户授权
引导用户前往 设置 > 应用和通知 > 特殊应用权限 > 通知访问权限,启用应用的监听权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值