Android中TelephonyManager用法实例

本文实例讲述了Android中TelephonyManager用法。分享给大家供大家参考,具体如下:

一、概述:

TelephonyManager类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态及手机用户的信息。在应用程序中可以使用这些get方法获取相关数据。

TelephonyManager类的对象可以通过Context.getSystemService(Context.TELEPHONY_SERVICE)方法来获得,需要注意的是有些通讯信息的获取对应用程序的权限有一定的限制,在开发的时候需要为其添加相应的权限。

二、示例:

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 读取sim卡 TelephonyManager tm = (TelephonyManager) this .getSystemService(Context.TELEPHONY_SERVICE); // // String tel = tm.getLine1Number(); // 取出MSISDN,很可能为空 // String iccid = tm.getSimSerialNumber(); // 取出ICCID // String imsi = tm.getSubscriberId(); // 取出IMSI System.out.println(tm.getCallState()); System.out.println(tm.getDataActivity()); System.out.println(tm.getDataState()); System.out.println("得到设备的ID,IMEI或者MEID:" + tm.getDeviceId()); System.out.println("软件版本:"+tm.getDeviceSoftwareVersion()); if (tm.getLine1Number()!=null) { System.out.println("电话号码:"+tm.getLine1Number()); } else { System.out.println("电话号码为空"); } System.out.println("电信网路国别:" + tm.getNetworkCountryIso()); // 电信网路国别 System.out.println("电信公司代号:" + tm.getNetworkOperator()); System.out.println("电信公司名称:" + tm.getNetworkOperatorName()); // System.out.println(tm.getNetworkType()); // 行动网路类型 String[] networkTypeArray = { "UNKNOWN", "GPRS", "EDGE", "UMTS", "CDMA", "EVDO 0", "EVDO A", "1xRTT", "HSDPA", "HSUPA", "HSPA" }; String networkType = networkTypeArray[tm.getNetworkType()]; System.out.println("行动网路类型:"+networkType); // System.out.println(tm.getPhoneType()); // 行动通讯类型 String[] phoneTypeArray = {"NONE", "GSM", "CDMA"}; String phoneType = phoneTypeArray[tm.getPhoneType()]; System.out.println("行动通讯类型:"+phoneType); System.out.println("sim国家代码:"+tm.getSimCountryIso()); System.out.println(tm.getSimOperator()); System.out.println(tm.getSimOperatorName()); // System.out.println(tm.getSimSerialNumber()); System.out.println(tm.getSimState()); // System.out.println(tm.getSubscriberId()); // 手机 IMSI System.out.println(tm.getVoiceMailAlphaTag()); // System.out.println("得到位置信息,主要是当前注册小区的位置码:"+tm.getCellLocation()); // System.out.println(tm.getNeighboringCellInfo()); // 手机漫游状态 String roamingStatus = tm.isNetworkRoaming() ? "漫游中" : "非漫游"; System.out.println(roamingStatus); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; }

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android调试技巧与常见问题解决方法汇总》、《Android开发入门与进阶教程》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

时间: 2024-09-20 10:45:57

Android中TelephonyManager用法实例的相关文章

Android中TelephonyManager用法实例_Android

本文实例讲述了Android中TelephonyManager用法.分享给大家供大家参考,具体如下: 一.概述: TelephonyManager类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法.其中包括手机SIM的状态和信息.电信网络的状态及手机用户的信息.在应用程序中可以使用这些get方法获取相关数据. TelephonyManager类的对象可以通过Context.getSystemService(Context.TELEPHONY_SERVICE)方法来获得,需要注意的是

Java中的instanceof关键字在Android中的用法实例详解_java

在下面介绍Android中如何使用instanceof关键字开发更方便时,先来温习一下java中instanceof的概念. instanceof大部分的概念是这样定义的:instanceof是Java的一个二元操作符,和==,>,<是同一类东西.由于它是由字母组成的,所以也是Java的保留关键字.它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据.举个栗子: String s = "I AM an Object!"; boolean isObj

Android 中WallpaperManager用法实例

Android 中WallpaperManager用法实例 注意:壁纸的设置得加入权限: <uses-permission android:name="android.permission.SET_WALLPAPER"/> 1.WallpaperManager  对象的获得: wallpaperManager =WallpaperManager.getInstance(this); 2.设置壁纸的方法: 方法一:wallpaperManager.setBitmap(); /

Android中AlertDialog用法实例分析_Android

本文实例分析了Android中AlertDialog用法,分享给大家供大家参考,具体如下: Android中AlertDialog为一些程序提供了对话框,有些功能能够进一步满足程序的需要.下面举例介绍. 程序如下: import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.

Android中Notification用法实例总结_Android

本文实例总结了 Android中Notification用法.分享给大家供大家参考,具体如下: 我们在用手机的时候,如果来了短信,而我们没有点击查看的话,是不是在手机的最上边的状态栏里有一个短信的小图标提示啊?你是不是也想实现这种功能呢?今天的Notification就是解决这个问题的. 我们也知道Android系统也是在不断升级的,有关Notification的用法也就有很多种,有的方法已经被android抛弃了,现在我实现了三种不同的方法,并适应不同的android版本.现在我就把代码公布出

Android中OptionMenu用法实例_Android

本文实例讲述了Android中OptionMenu用法.分享给大家供大家参考.具体如下: 1.无需设置布局文件 2.创建一个类,基础Activity 3.重写onOptionsItemSelected方法,在这个方法里面添加菜单项 4.如果需要给菜单项添加单击事件,需要重写onOptionsItemSelected方法 MenuDemoActivity.java如下: package com.yyl; import Android.app.Activity; import Android.os.

Android中ImageView用法实例分析_Android

本文实例分析了Android中ImageView用法.分享给大家供大家参考,具体如下: 猜牌游戏大家可能以前都玩过,这里我们用这个小游戏来说明ImageView的用法. 首先,在res/drawable中引入三张牌:分别是梅花7,梅花8,梅花9 然后在res/layout/main.xml中配置一个TextView,三个ImageView以及一个Button <?xml version="1.0" encoding="utf-8"?> <Linea

Android中ListView用法实例分析_Android

本文实例分析了Android中ListView用法.分享给大家供大家参考,具体如下: 通过在Layout中添加ListView Widget可以达到在页面布局具有列表效果的交互页面.在这里通过举例来说明怎样在Layout中添加ListView以及怎样应用. 配合设计了两个事件Listener:  OnItemSelectedListener事件为鼠标的滚轮转动时所选择的值:OnItemClickListener事件则为当鼠标单击时,所触发的事件.由此可以区别出list中的"选择"与&q

Android中ListActivity用法实例分析_Android

本文实例分析了Android中ListActivity用法.分享给大家供大家参考,具体如下: 程序如下: import android.app.ListActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.ArrayAdapter; import android.widge