android监听服务,服务监听打电话
主代码写
package com.example.phonerecorder;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void start(View v){
//开启服务通过intent
Intent intent = new Intent(this,Recordservice.class);
startService(intent);
}
//停止服务通过intent
public void stop(View v){
Intent intent = new Intent(this,Recordservice.class);
stopService(intent);
}
}
Recordservice类要继承Service成为一个服务类
由于是服务所以要在清单中设置
package com.example.phonerecorder;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;
public class Recordservice extends Service {
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
Log.e("tag", "开启");
// TODO Auto-generated method stub
super.onCreate();
//创建一个电话管理器的对象(通过这个对象可以监听听电话的状态)
TelephonyManager manager = (TelephonyManager)
getSystemService(Context.TELEPHONY_SERVICE);//传入一个电话服务
//调用电话管理器的listen方法:注册监听
//参数 : 1监听器 2要监听打电话的状态
Listener listener = new Listener();
manager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.e("tag", "服务被销毁");
}
class Listener extends PhoneStateListener{
//状态改变调用
@Override
public void onCallStateChanged(int state, String incomingNumber) {
// TODO Auto-generated method stub
super.onCallStateChanged(state, incomingNumber);
switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
Log.e("tag","响铃"+incomingNumber+"准备一个录音机");
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.e("tag","接电话了"+incomingNumber+"开始录音");
break;
case TelephonyManager.CALL_STATE_IDLE:
Log.e("tag","空闲状态"+"录音结束");
break;
default:
break;
}
//录音需要用户的权限,在清单中添加READ_PHONE_STATE:读音状态
//
}
}
}
效果图
image.png
android监听服务,服务监听打电话相关推荐
- 关于Oracle创建新的监听和服务名的问题一二
最近在学习oracle,是自学,完全的自学,没有任何老师的指导.从图书馆借了本 <Oracle DBA宝典>这本书.好厚啊,下定了决心,就开始了.最近看到了关于创建新的监 听的问题,书中说 ...
- oracle 设置监听和服务,oracle服务端和客户端之间的网络监听设置
下面为您介绍的是oracle服务端和客户端之间的网络监听设置,如果您在oracle服务端和客户端之间的网络监听设置方面遇到过类似的问题,不妨一看. oracle服务端和客户端之间的网络监听设置 假如我 ...
- windows重启oracle监听口令,oracle_windows下命令启动oracle监听和服务
1.检查监听器状态 C:\Users\Administrator>lsnrctl status 2.启动监听程序 C:\Users\Administrator>lsnrctl start ...
- oracle 双结点监听文件,RAC监听服务两个节点 只能起一个
我的问题是, RAC系统有两个节点, endpoints_listener和istener 配置如下: node1: LISTENER_DB1=(DESCRIPTION=(ADDRESS_LIST=( ...
- oracle一般监听配置文件,Oracle监听配置讲解
本文作者:贺圣军,叩丁狼高级讲师.原创文章,转载请注明出处. 很多使用Oracle的朋友遇到最多的问题就是Oracle数据库已经安装完成, 但是在使用Oracle客户端pl/sql等工具却怎么都连接不 ...
- activemq 开启监听_ActiveMQ 消息监听 MessageListener 的使用
刚学 ActiveMQ, 最开始搭建环境的时候引入的jar 包,几个核心的jar jms.jar, httpcore.jar , httpclient.jar, activemq-all.jar 准备 ...
- watch深度监听数组_vue watch普通监听和深度监听实例详解(数组和对象)
vue watch普通监听和深度监听实例详解(数组和对象) 下面通过一段代码给大家介绍vue watch的普通监听和深度监听,具体代码如下所示: var vm=new Vue({ data:{ num ...
- js微信监听返回_JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法...
在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回.后退.上一页等按钮实现自己的关闭页面.调整到指定页面或执行一些其它操作的需求,那在代码中怎样监听当点击微信.支付宝.百度糯米.百度钱包等 ...
- Vue监听器的基本使用(监听属性-深度监听和立即执行)
一:vue监听器-基本使用 语法是: watch: {"被监听的属性名" (newVal, oldVal){}} 方便理解,示例代码: <template><di ...
- AWT—鼠标监听,窗口监听,键盘监听
AWT-鼠标监听,窗口监听,键盘监听 鼠标监听 目的:实现鼠标作画 package com.deng.lesson03; import java.awt.*; import java.awt.ev ...
最新文章
- 深度学习--TensorFlow(6)神经网络 -- 拟合线性函数非线性函数
- EKL相关(一)、安装环境
- 【Java 线程的深入研究3】最简单实例说明wait、notify、notifyAll的使用方法
- 几种移动开发技术的比较和选型
- jQueryEasyUI框架 - panel 选项卡高度自适应
- DARPA 想用自动化技术制造出最强的黑客
- Electron 实战:前端人的最佳跨平台解决方案
- python模块整理12-pdb调试模块
- Linux sites
- 桌面虚拟化(四):第二阶段,形影不离的贴身秘书
- docker配置 nacos_Docker下配置nacos
- 阿里天池大数据竞赛——口碑商家客流量预测 A1
- 【LTspice】010 串联谐振电路
- yolov5+Deepsort实现目标跟踪
- WPS添加页码不是从首页开始
- 学生信息管理系统-教师端
- ORB-Mono原理梳理
- java计算机毕业设计Web商铺租赁管理系统MyBatis+系统+LW文档+源码+调试部署
- C#回顾学习笔记四十:三层架构
- 分布式网页爬虫系统 设计和实现