5分钟创建一个android监听通知服务
1、打开android studio,新建项目,选择一个基础的Activity

2、设置启动Activity名称

3、新建一个class,基类为android.service.notification.NotificationListenerService,勾选show select overrides dialog

4、选择需要重写的方法


5、在onNotificationPosted中记录通知的消息文字
Log.v("BFW", sbn.getNotification().tickerText.toString());

在AndroidManifest.xml加入
<service android:name="wiki.bfw.readnoticle.NotifyService" android:priority="1000" android:label="通知监控" android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService">
</action></intent-filter>
</service>

6、在启动的activity中启动service

7、加入设置通知权限的方法

8、编译运行后的效果,先点击右下角图标,调到授权页面,授权app使用通知监听


9、模拟器中发布一条短信

10、我们可以看到日志中打印出刚才的短信内容,监听成功了

主要代码如下
NotifyActivity.java
package wiki.bfw.readnoticle;
import android.content.Intent;
import android.os.Bundle;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.provider.Settings;
import android.view.View;
public class NotifyActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_notify);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Intent intent = new Intent(NotifyActivity.this, NotifyService.class);//启动服务
startService(intent);//启动服务
FloatingActionButton fab = findViewById(R.id.fab);
...点击查看剩余70%
网友评论0