zoukankan      html  css  js  c++  java
  • android之监听手机来电状态

        //获得相应的系统服务

        TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

        //使用TelephonyManager对象的listen(PhoneStateListener listener, int events)

        第一个参数需要实现PhoneStateListener listener并实现相应的方法,第二个参数是PhoneStateListener的静态常量,此处由于是监听电话状态,所以需要传             入LISTEN_CALL_STATE,而同时也需要在AndroidManifest中注册相应的权限<uses-permission android:name="android.permission.READ_PHONE_STATE" />

        //实现PhoneStateListener listener并实现相应的方法

        public class MyPhoneCallListener extends PhoneStateListener
        {

        @Override
        public void onCallStateChanged(int state, String incomingNumber)
        {

        switch (state)
        {
        case TelephonyManager.CALL_STATE_OFFHOOK:                   //电话通话的状态
        Toast.makeText(Main.this, "正在通话...", Toast.LENGTH_SHORT)
        .show();
        break;

        case TelephonyManager.CALL_STATE_RINGING:                   //电话响铃的状态
        Toast.makeText(Main.this, incomingNumber,
        Toast.LENGTH_SHORT).show();
        break;

        }
        super.onCallStateChanged(state, incomingNumber);
        }

  • 相关阅读:
    深入解析委托和事件
    一个小型工程报价系统(三层架构)
    DONET三层架构开发初步
    VS项目重命名工具
    Visual Studio 2012 应用软件开发新方式
    Consumer is not subscribed to any topics or assigned any partitions
    kafka的一些常用命令
    横向遍历二叉树
    Flume的断点续传解决
    实际生产用法CMS和G1
  • 原文地址:https://www.cnblogs.com/lee0oo0/p/2393812.html
Copyright © 2011-2022 走看看