应用开发apk之telephonyManager学习简记

1.  使用词典溯源:

https://www.android-doc.com/reference/packages.html

Keyword:TelephonyManager

2.  调用方式:1. 获得phone 服务; 2. 创建phone状态变化监听器PhoneStateListener   3. 实现应用,当phoneState发生变化时,调用tm获得phone服务的各个状态。

 

3. 权限声明

信息的获取对应用程序的权限有一定的限制,在开发的时候需要为其添加相应的权限。如:

  
  

3. An  Example like this:

 

package com.lmc.activity;

import java.util.List;

import android.app.Activity;
import android.content.Context;

import android.os.Bundle;
import android.telephony.CellLocation;
import android.telephony.NeighboringCellInfo;

public class RadioMonitorActivity extends Activity {


 private TelephonyManager mTelephonyManager;

 private MyPhoneCallListener mPhoneStateMonitor; //MyPhoneCallListener object

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);


   mTelephonyManager = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);


   mPhoneStateMonitor = new MyPhoneCallListener();
   mTelephonyManager.listen(mPhoneStateMonitor, PhoneStateListener.LISTEN_CALL_STATE);

  }

  //mTelephonyManager.getNetworkOperator();
  //mTelephonyManager.getSimState();//int


//MyPhoneCallListener  extends PhoneStateListener, to implement callback and event handling for registed event, like LISTEN_CALL_STATE
private class MyPhoneCallListener extends PhoneStateListener
{
    @Override
    public void onCallStateChanged(int state, String incomingNumber)
    {
        switch (state)
        {
            //电话通话的状态
            case TelephonyManager.CALL_STATE_OFFHOOK:                  
            break;
            //电话响铃的状态
            case TelephonyManager.CALL_STATE_RINGING:                   
            break;
            //空闲中
            case TelephonyManager.CALL_STATE_IDLE:
            break;
        }
        super.onCallStateChanged(state, incomingNumber);
    }


        @Override
        public void onSignalStrengthsChanged(SignalStrength signalStrength) {
    {
      //...
     }

}

 

你可能感兴趣的:(Android)