1、 /* * 电话状态: * 1.tm.CALL_STATE_IDLE=0 无活动 * 2.tm.CALL_STATE_RINGING=1 响铃 * 3.tm.CALL_STATE_OFFHOOK=2 摘机 */ tm.getCallState();/int * 电话方位: * tm.getCellLocation();/CellLocation * 唯一的设备ID: * GSM手机的 IMEI 和 CDMA手机的 MEID. * Return null if device ID is not available. tm.getDeviceId();/String * 设备的软件版本号: * 例
2、如:the IMEI/SV(software version) for GSM phones. * Return null if the software version is not available. tm.getDeviceSoftwareVersion(); * 手机号: * GSM手机的 MSISDN. * Return null if it is unavailable. tm.getLine1Number(); * 附近的电话的信息: * 类型:List * 需要权限:android.Manifest.permission#ACCESS_COARSE_UPDATES tm.ge
3、tNeighboringCellInfo();/List鉴于有些同志没有源码,我把源码粘出来,TelephonyManager.java:package android.telephony;import com.android.internal.telephony.*;import java.util.ArrayList;import java.util.List;import android.annotation.SdkConstant.SdkConstantType;import android.annotation.SdkConstant;import android.content.C
4、ontext;import android.os.RemoteException;import android.os.ServiceManager;import android.os.SystemProperties;* Provides access to information about the telephony services on* the device. Applications can use the methods in this class to* determine telephony services and states, as well as to access
5、some* types of subscriber information. Applications can also register * a listener to receive notification of telephony state changes. * * You do not instantiate this class directly; instead, you retrieve* a reference to an instance through * link android.content.Context#getSystemService* Context.ge
6、tSystemService(Context.TELEPHONY_SERVICE).* Note that acess to some telephony information is* permission-protected. Your application cannot access the protected * information unless it has the appropriate permissions declared in * its manifest file. Where permissions apply, they are noted in the * t
7、he methods through which you access the protected information. public class TelephonyManager private static final String TAG = TelephonyManager; private Context mContext; private ITelephonyRegistry mRegistry; /* hide */ public TelephonyManager(Context context) mContext = context; mRegistry = ITeleph
8、onyRegistry.Stub.asInterface(ServiceManager.getService( telephony.registry); private TelephonyManager() private static TelephonyManager sInstance = new TelephonyManager(); public static TelephonyManager getDefault() return sInstance; / / Broadcast Intent actions /* * Broadcast intent action indicati
9、ng that the call state (cellular) * on the device has changed. * * * Requires the READ_PHONE_STATE permission. * This was a link android.content.Context#sendStickyBroadcast sticky * broadcast in version 1.0, but it is no longer sticky. * Instead, use link #getCallState to synchronously query the cur
10、rent call state. * see #EXTRA_STATE * see #EXTRA_INCOMING_NUMBER * see #getCallState SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PHONE_STATE_CHANGED =android.intent.action.PHONE_STATE * The lookup key used with the link #ACTION_PHONE_STATE_CHANGED broadcast
11、 * for a String containing the new call state. * see #EXTRA_STATE_IDLE * see #EXTRA_STATE_RINGING * see #EXTRA_STATE_OFFHOOK * Retrieve with * link android.content.Intent#getStringExtra(String). public static final String EXTRA_STATE = Phone.STATE_KEY; * Value used with link #EXTRA_STATE correspondi
12、ng to * link #CALL_STATE_IDLE. public static final String EXTRA_STATE_IDLE = Phone.State.IDLE.toString(); * link #CALL_STATE_RINGING. public static final String EXTRA_STATE_RINGING = Phone.State.RINGING.toString(); * link #CALL_STATE_OFFHOOK. public static final String EXTRA_STATE_OFFHOOK = Phone.St
13、ate.OFFHOOK.toString(); * for a String containing the incoming phone number. * Only valid when the new call state is RINGING. public static final String EXTRA_INCOMING_NUMBER = incoming_number / Device Info * Returns the software version number for the device, for example, * the IMEI/SV for GSM phon
14、es.Requires Permission: * link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE public String getDeviceSoftwareVersion() try return getSubscriberInfo().getDeviceSvn(); catch (RemoteException ex) return null; * Returns the unique device ID, for example,the IMEI for GSM * phones. public S
15、tring getDeviceId() return getSubscriberInfo().getDeviceId(); * Returns the current location of the device. link android.Manifest.permission#ACCESS_COARSE_LOCATION * ACCESS_COARSE_LOCATION. public CellLocation getCellLocation() Bundle bundle = getITelephony().getCellLocation(); return CellLocation.n
16、ewFromBundle(bundle); * Enables location update notifications. link PhoneStateListener#onCellLocationChanged * PhoneStateListener.onCellLocationChanged will be called on location updates. link android.Manifest.permission#CONTROL_LOCATION_UPDATES * CONTROL_LOCATION_UPDATES * hide public void enableLo
17、cationUpdates() getITelephony().enableLocationUpdates(); * Disables location update notifications. link PhoneStateListener#onCellLocationChanged link android.Manifest.permission#CONTROL_LOCATION_UPDATES public void disableLocationUpdates() getITelephony().disableLocationUpdates(); * Returns the neighboring cell information of the device. * return List of NeighboringCellInfo or null if inf
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1