赵雅智_service实例1电话监听
来源:互联网 发布:python程序员 外快 编辑:程序博客网 时间:2024/05/20 06:41
步骤:
- 创建CallStateService继承Service
- 取得电话服务
- 监听电话动作
- 电话监听的对象
- 没有电话时
- 电话响铃时
- 电话接通时
- 电话监听的行为
- 电话监听的对象
- 启动service
- 注册service并添加监听电话状态的权限
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.callstatelistener" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" /> <!-- 监听电话状态 --> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.callstatelistener.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- 注册service --> <service android:name="com.example.callstatelistener.CallStateService"></service> </application> </manifest>
CallStateService.java
package com.example.callstatelistener;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;/** * 监听电话状态service * * @author zhaoyazhi * * 2014-6-17 */public class CallStateService extends Service {public static final String TAG = "aaa";@Overridepublic IBinder onBind(Intent intent) {// TODO Auto-generated method stubreturn null;}@Overridepublic void onCreate() {super.onCreate();// 取得电话服务TelephonyManager telManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);// 电话监听的对象,电话监听的行为telManager.listen(new MyPhoneStateListener(),PhoneStateListener.LISTEN_CALL_STATE);}class MyPhoneStateListener extends PhoneStateListener {/** * int state电话状态。 * String incomingNumber电话号码 */@Overridepublic void onCallStateChanged(int state, String incomingNumber) {super.onCallStateChanged(state, incomingNumber);switch (state) {case TelephonyManager.CALL_STATE_IDLE: /* 无任何状态时 */// 实现黑名单操作Log.i(TAG, "------------------没有电话来");break;case TelephonyManager.CALL_STATE_RINGING: /* 电话进来时 */Log.i(TAG, "------------------来电话了---并且响铃");break;case TelephonyManager.CALL_STATE_OFFHOOK: /* 接起电话时 */Log.i(TAG, "------------------通话中");break;default:break;}};}}
MainActivity.java
package com.example.callstatelistener;import android.app.Activity;import android.content.Intent;import android.os.Bundle;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//intent 意图Intent service = new Intent(MainActivity.this, CallStateService.class);//启动service服务this.startService(service);}}
控制台输出:
0 0
- 赵雅智_service实例1电话监听
- 赵雅智_service电话监听2加接通电话录音
- 赵雅智_BroadcastReceiver电话监听
- 赵雅智_service生命周期
- 电话监听
- 监听电话
- 电话监听
- 电话监听
- Android中监听电话接听拨打、收发短信的实例
- Android 电话监听
- Ohone/android 监听电话
- 监听用户电话状态
- asterisk 电话监听ChanSpy()
- iPhone电话事件监听
- android 之电话监听
- Android-电话监听工具
- android 实现监听电话
- 拨出电话监听
- ORACLE函数之单行数字函数
- 智联招聘上市 互联网钉子户突围
- sql存储过程和事务的应用
- rsync+sersync 实现实时同步有变化文件功能 安装配置
- 让vmware虚拟机上网
- 赵雅智_service实例1电话监听
- maven常用命令
- win32和android 的cocos2dx环境搭建详细教程
- 动态规划整理(二)
- 头文件的两个声明
- Android项目用到的一些开源项目
- 赋值面试题
- 《python源码剖析》笔记 python虚拟机中的一般表达式
- Git远程操作详解