Android 四大组件之 BroadcastReceiver_3 实现开机启动拦截电话服务
拦截电话服务(ListenCallService)参考 :https://blog.csdn.net/whjk20/article/details/112988381
这里实现开机启动完成后,启动拦截电话的服务。
目录
1.创建接收器, 处理action: Intent.ACTION_BOOT_COMPLETED
2. AndroidManifest中静态注册接收器,当应用安装时注册,收到广播时创建对象。
3.声明权限(使用Intent.ACTION_BOOT_COMPLETED需要的权限) :
4. 输出结果
5. 注意事项:
1.创建接收器, 处理action: Intent.ACTION_BOOT_COMPLETED
即启动ListenCallService (使用onStartService , 什么时候停止??)
//静态注册,当应用安装时注册,收到广播时创建对象。
public class BootCompleteReceiver1 extends BroadcastReceiver {private static final String TAG = "BootCompleteReceiver1";private void log(String msg) {Log.d(TAG, msg);}@Overridepublic void onReceive(Context context, Intent intent) {String intentAction = intent.getAction();log("onReceive intentAction=" + intentAction);Intent callIntent = new Intent(context, ListenCallService.class);context.startService(callIntent);log("start ListenCallService done");}
}
2. AndroidManifest中静态注册接收器,当应用安装时注册,收到广播时创建对象。
<receiver android:name=".BootCompleteReceiver1"><intent-filter><category android:name="android.intent.category.DEFAULT"/><action android:name="android.intent.action.BOOT_COMPLETED"/></intent-filter></receiver>
3.声明权限(使用Intent.ACTION_BOOT_COMPLETED需要的权限) :
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
4. 输出结果
01-27 11:04:36.961 D BootCompleteReceiver1: onReceive intentAction=android.intent.action.BOOT_COMPLETED
01-27 11:04:36.970 D BootCompleteReceiver1: start ListenCallService done
01-27 11:04:36.986 D ListenCallService: onCreate
01-27 11:04:37.006 D ListenCallService: onCreate - already granted permission.READ_CALL_LOG
01-27 11:04:37.008 D ListenCallService: onStartCommand
01-27 11:04:37.008 D ListenCallService: onCallStateChanged state=0, phoneNumber=
01-27 11:04:55.328 D ListenCallService: onCallStateChanged state=1, phoneNumber=10086
01-27 11:04:55.450 D ListenCallService: onCallStateChanged endCall ret=true
01-27 11:04:55.843 D ListenCallService: onCallStateChanged state=0, phoneNumber=10086
5. 注意事项:
(1) 需要保证开机后,应用已经跑起来了,否则有可能不会收到广播 (这里开机后手动启动了应用)
后续可以参考:https://stackoverflow.com/questions/20441308/boot-completed-not-working-android
再去实现能自动接收到开机完成的广播
Android 四大组件之 BroadcastReceiver_3 实现开机启动拦截电话服务相关推荐
- Android四大组件和启动模式(面试总结)
一.Android四大组件详解 Android四大组件分别为Activity.Service.Content Provider.Broadcast Receiver. 1.Activity (1)一个 ...
- Android四大组件之BroadCastReceiver
1. 基本概念 在Android 中,Broadcast 是一种广泛运用的在应用程序之间传输信息的机制.而BroadcastReceiver 是对发送出来的Broadcast 进行过滤接受并响应的一类 ...
- Android四大组件---BroadcastReceiver
前言: BroadcastReceiver(广播接收器),属于 Android 四大组件之一 在 Android 开发中,BroadcastReceiver 的应用场景非常多 今天,我将详细讲解关于B ...
- Android 四大组件基本介绍
1.基本概况 android 四大组件分别是 activity .service (服务).broadcast receiver(广播接收者).content provider(内容提供者). 2.a ...
- Android 四大组件之——Acitivity(一)
一,什么是Activity activity是Android组件中最基本也是最为常见用的四大组件之一.Android四大组件有Activity,Service服务,Content Provider内容 ...
- Android——四大组件、六大布局、五大存储
一.android四大组件 (一)android四大组件详解 Android四大组件分别为activity.service.content provider.broadcast receiver. 1 ...
- 重温Android四大组件(一)—Activity的生命周期
前言 四大组件对于Android开发者是老生常谈的知识了,相信每个Android开发者对四大组件都已经很熟悉了.但是四大组件作为Android应用的基础,作为开发者不仅要熟悉而且要烂熟于心. 这里以& ...
- Android 四大组件 —— 活动(使用Intent 实现活动的显示跳转)
一.什么是Intent? Intent的中文意思是目的.在Android中也是"目的"的意思.就是我们要去哪里,从这个activity要前往另一个Activity就需要用到Inte ...
- Android 四大组件 —— 服务
一.服务是什么 服务(Service)是Android 中实现程序后台运行的解决方案,它非常适合用于去执行那些不需要和用户交互而且还要求长期运行的任务.服务的运行不依赖于任何用户界面,即使当程序被切换 ...
最新文章
- DNSBIND——DNS的子域授权和定义转发服务器
- 图像处理之基础---周末戏说卷积
- python所有函数用法_Python函数使用方法(高级用法)
- java Thread 类的几种方法
- [数论]拓展中国剩余定理
- ArcGIS API for JavaScript Bookmarks(书签)
- java neo4j_Neo4j Java REST绑定–第2部分(批处理)
- 建模步骤_古建设计 | sketchup建模步骤教程(简易入门版)
- ConvMLP:你见过长得像CNN的MLP吗?UOUIUC提出了用于视觉任务的层次卷积MLP
- C语言_顺序结构的程序设计
- Android学习系列--App调试的几个命令实践
- Spring cloud和规则引擎urule整合代码
- 长三角江浙沪有影响力的调查研究咨询公司
- kubernetes部署nfs持久存储(静态和动态)
- STM32F103高级定时器死区时间计算
- IC+九旸 ,IP1810,QFP128 , 8端口10 / 100Mb + 2端口10/100 / 1000Mb交换机
- 互联网概述, 分组交换, 网络类别, 网络拓扑结构
- Arduino提高篇04—U8g2库驱动OLED
- 微信小程序 使用 wx.downloadFile()方法
- 二进制转八进制的两种方法