- 浏览: 403370 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
ysn003:
这样用就好啦!!!<Button ...
Android学习 之 ColorStateList按钮文字变色 -
ysn003:
Android学习 之 ColorStateList按钮文字变色 -
vitoliao:
楼主你好,如果你的代码需要实现的是回显功能,需要在MainCl ...
Java学习 之 Socket(实现简易的C/S聊天室) -
xinqiqi123:
在item布局中要是引用到自定的东西,item就会显示不全
Android学习 之 问题&解答 ScrollView中嵌套ListView时显示不全的简便解决方案 -
CTXsamCTX:
很好,学习了。
Android 图形用户界面 之 绘图(一)
作者原文连接,转载请注明:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=74662
谢谢合作!
TelephonyManager与android.provider.Settings.System的应用
我们在前面的范例当中,已经示范过如何通过TelephonyManager(android.telephony. TelephonyManager)对象来取得SIM卡状态及相关信息,除了SIM卡信息外,TelephonyManager还可以用来取得电信网络的相关信息。例如,电信网络国别、电信公司代码、电信公司名称、网络类型等,甚至还可以取得每部手机唯一的IMEI码与IMSI码。
除此之外,如果要取得手机内的设置值,如蓝牙、无线网络的设置状态,还可以通过Android API提供的android.provider.Settings.System对象来取得。
本范例将示范如何运用TelephonyManager取得目前的电信网络相关信息,以及如何运用android.provider.Settings.System来取得手机的相关信息与设置。
程序中以getSystemService(TELEPHONY_SERVICE)来取得TelephonyManager对象,再通过TelephonyManager提供的方法来取得电信网络相关信息。
另外,程序以android.provider.Settings.System.getString()来取得手机相关设置信息,并将取得的信息存入自定义的MyAdapter中,最后以setListAdapter()将MyAdapter内的信息显示在ListView中。
import android.content.ContentResolver;
import android.telephony.TelephonyManager;
public class EX05_24 extends ListActivity {
private TelephonyManager telMgr; private List<String> item=new ArrayList<String>();
private List<String> value=new ArrayList<String>();
@SuppressWarnings("static-access")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/* 加载main.xml Layout */
setContentView(R.layout.main);
telMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
/* 将取得的信息写入List中 */
/* 取得手机电话号码 */
item.add(getResources().getText(R.string.str_list0).toString());
if(telMgr.getLine1Number()!=null) {
value.add(telMgr.getLine1Number());
} else {
value.add("无法取得");
}
/* 取得电信网络国别 */
item.add(getResources().getText(R.string.str_list1).toString());
if(telMgr.getNetworkCountryIso().equals("")) {
value.add("无法取得");
} else {
value.add(""+telMgr.getNetworkCountryIso());
}
/* 取得电信公司代码 */
item.add(getResources().getText(R.string.str_list2).toString());
if(telMgr.getNetworkOperator().equals("")) {
value.add("无法取得");
} else {
value.add(telMgr.getNetworkOperator());
}
/* 取得电信公司名称 */
item.add(getResources().getText(R.string.str_list3).toString());
if(telMgr.getNetworkOperatorName().equals("")) {
value.add("无法取得");
} else {
value.add(telMgr.getNetworkOperatorName());
}
/* 取得移动通信类型 */
item.add(getResources().getText(R.string.str_list4).toString());
if(telMgr.getPhoneType()==telMgr.PHONE_TYPE_GSM) {
value.add("GSM");
} else {
value.add("未知");
}
/* 取得网络类型 */
item.add(getResources().getText(R.string.str_list5).toString());
if(telMgr.getNetworkType()==telMgr.NETWORK_TYPE_EDGE) {
value.add("EDGE");
} else if(telMgr.getNetworkType()==telMgr.NETWORK_TYPE_GPRS) {
value.add("GPRS");
} else if(telMgr.getNetworkType()==telMgr.NETWORK_TYPE_UMTS) {
value.add("UMTS");
} else if(telMgr.getNetworkType()==4) {
value.add("HSDPA");
} else { value.add("未知");
}
/* 取得漫游状态 */
item.add(getResources().getText(R.string.str_list6).toString());
if(telMgr.isNetworkRoaming()) {
value.add("漫游中");
} else{
value.add("无漫游");
}
/* 取得手机IMEI */
item.add(getResources().getText(R.string.str_list7).toString());
value.add(telMgr.getDeviceId());
/* 取得IMEI SV */
item.add(getResources().getText(R.string.str_list8).toString());
if(telMgr.getDeviceSoftwareVersion()!=null) {
value.add(telMgr.getDeviceSoftwareVersion());
} else {
value.add("无法取得");
}
/* 取得手机IMSI */
item.add(getResources().getText(R.string.str_list9).toString());
if(telMgr.getSubscriberId()!=null) {
value.add(telMgr.getSubscriberId());
} else {
value.add("无法取得");
}
/* 取得ContentResolver */
ContentResolver cv = EX05_24.this.getContentResolver();
String tmpS="";
/* 取得蓝牙状态 */
item.add(getResources().getText(R.string.str_list10) .toString()); tmpS=android.provider.Settings.System.getString(cv, android.provider.Settings.System.BLUETOOTH_ON);
if(tmpS.equals("1")) {
value.add("已打开");
} else{
value.add("未打开");
}
/* 取得WIFI状态 */
item.add(getResources().getText(R.string.str_list11) .toString()); tmpS=android.provider.Settings.System.getString(cv, android.provider.Settings.System.WIFI_ON); if(tmpS.equals("1")) {
value.add("已打开");
} else{
value.add("未打开");
}
/* 取得飞行模式是否打开 */
item.add(getResources().getText(R.string.str_list12) .toString()); tmpS=android.provider.Settings.System.getString(cv, android.provider.Settings.System.AIRPLANE_MODE_ON);
if(tmpS.equals("1")) {
value.add("打开中");
} else{
value.add("未打开");
}
/* 取得数据漫游是否打开 */
item.add(getResources().getText(R.string.str_list13) .toString()); tmpS=android.provider.Settings.System.getString(cv, android.provider.Settings.System.DATA_ROAMING);
if(tmpS.equals("1")) {
value.add("打开中");
} else{
value.add("未打开");
}
/* 使用自定义的MyAdapter来将数据传入ListActivity */
setListAdapter(new MyAdapter(this,item,value));
}
}
其中getString()传入的第二个参数是想要取得的设置值的名称,可以直接使用API中已经定义好的常数传入。除了范例中提到的蓝牙状态、无线网络状态、飞行模式、数据漫游状态之外,还有更多的手机设置值可以取得,比如说,设置的信息提示声音、设置的铃声等,表5-11所示列举几个Android.provider.Settings.System中的常数供大家参考。
发表评论
-
Android 学习 之 使用ActivityGroup调用对应Activity的菜单
2011-12-23 17:34 2598代码很简单,直接贴在这里了。 在使用ActivityGrou ... -
Android 学习 之 TextView结合SpannableString
2011-12-22 12:02 5427protected void onCreate(Bundle ... -
Android 学习 之 图形绘制篇 获取要绘制的文字的宽度/长度
2011-11-29 15:43 7381转自:http://www.cnblogs.com/Tiger ... -
Android 学习 之 键盘问题
2011-10-12 12:00 45111.隐藏键盘 一般情况下,都是在点击某个View的时候 ... -
Android 学习 之 SD卡相关
2011-08-19 15:42 13001.获取SD的路径字符串 public static Str ... -
Android 学习 之 关于应用程序的自适应问题(一)
2011-08-16 12:18 1609转自:http://venus-chen.iteye.com/ ... -
Android 学习 之 资源文件 布局中ID的引用
2011-08-16 11:30 5978转自:http://tiantian0521.blog.163 ... -
Android 学习 之 关闭应用程序的方法
2011-08-10 11:46 1402package com.close; import jav ... -
Android 学习 之 资源文件 动态修改strings.xml中的字符资源
2011-08-10 11:25 6491转自:http://www.cnblogs.com/cools ... -
Android 学习 之 Intent 调用大全
2011-08-10 11:21 1021从别人那里抠的,代码有点乱,仅供自己参考,需要的自己整理下吧, ... -
Android学习 之 动态切换全屏和非全屏模式
2011-06-02 10:03 4403直接贴出代码: package com.screen; ... -
Android学习 之 常见知识点记录
2011-06-01 20:35 1850也是转的,呜呜,人家写的好好,有记录的习惯,值得学习,转载请说 ... -
Android学习 之 获取可视区域的Rect对象(顺带获取状态栏和标题栏高度的方法)
2011-06-01 11:31 10864这个有什么用捏,这 ... -
Android 基本控件 之 Dialog(二)Dialog主题的Activity
2011-06-01 10:10 2687转自:http://www.cnblogs.com/xi ... -
Android 基本控件 之 SeekBar(一) 个性你的视图
2011-05-31 16:34 12138系统自带的SeekBar组件 ... -
Android 系统设置 之 保持手机屏幕常亮的方法
2011-05-25 18:13 9781方法一: 在Activity的onCreate()中: ... -
Android 图形用户界面 之 绘图(二) Paint类 主要方法介绍
2011-05-25 18:09 9255摘自《Ophone应用开发权威指南》: /** * P ... -
Android 图形用户界面 之 绘图(一)
2011-05-25 17:59 30668直接贴上代码: BasicViewDraw.java ... -
【转】Android 画图 之 Matrix(三)
2011-05-24 19:04 1642原文地址:http://developer.51cto.com ... -
【转】Android 画图 之 Matrix(二)
2011-05-24 18:51 1397原文地址:http://chroya.iteye.com/ ...
相关推荐
Android 获取移动网络及SIM卡运营商信息,可获取到SIM卡国别、SIM卡序列号、SIM卡状态、运营商代号、手机制式等信息。获取各个数据项的值: listValues.add(tm.getDeviceId());//获取设备编号 listValues.add(tm...
在Android开发中,获取当前网速质量和调整网络请求是至关重要的任务,这直接影响到应用程序的用户体验和性能。本文将深入探讨这两个主题,并提供相应的实践方法。 首先,我们要了解如何在Android系统中检测网络速度...
android获取文件绝对路径类,是本人项目中直接取出的类。在protected void onActivityResult()中使用
在Android平台上,获取网络时间并...以上就是Android通过访问网络获取网络时间并修改系统时间的基本方法和相关知识点。在实际开发中,还应考虑到网络延迟、错误处理、权限管理等因素,以确保功能的稳定性和用户体验。
在Android开发中,Apache的相关库通常用于网络请求或其他辅助功能,但在这个DEMO中,由于描述中提到“不用写后台”,我们可以推断可能没有涉及到复杂的网络交互,而是直接使用了Android系统提供的API。 综上所述,...
获取带有以太网接口的android系统中ethernet和wifi连接信息(连接状态,IP地址,dns,netmask等信息)
在Android平台上,获取当前桌面壁纸是一项常见的任务,尤其在开发个性化应用或与用户界面相关的功能时。本篇文章将深入探讨如何实现这一功能,基于提供的链接(已无法访问,但可以根据历史资料推测方法)以及Android...
### Android 获取进程的上下行流量 #### Trafficstats 类简介 `TrafficStats` 是 Android 提供的一个用于统计设备网络流量的工具类,自 Android 2.2 版本开始引入。这个类提供了一系列静态方法,可以帮助开发者...
本文将详细介绍如何在Android应用程序中获取网络资源的实际大小。 #### 一、使用`HttpURLConnection`获取资源大小 在Android中,最常用的方法之一是通过`HttpURLConnection`来获取远程资源的信息。下面是一个具体...
在Android开发中,获取当前网络状态以及检测网络连接模式是一项重要的功能,这有助于应用程序根据不同的网络环境提供相应的服务。本文将详细讲解如何在Android中实现这一功能。 首先,要获取网络状态,我们需要引入...
在Android平台上,获取手机用户绑定的手机号码是一个常见的需求,特别是在开发需要用户验证或个性化服务的应用时。然而,由于隐私保护政策和不同运营商的限制,直接获取手机号码并不总是可行的。本文将详细介绍如何...
在Android平台上,获取WiFi网络的IP地址、子网掩码、网关以及DNS信息是开发者经常需要处理的任务,这有助于实现各种网络相关的功能,比如网络诊断、设备间通信或者网络状态监控。以下将详细介绍如何在Android中获取...
如何从网络中获取一张图片,并显示出来?? 首先应想到若要从网络资源中获取图片,就需要通过流操作,于是就想到如何创建流。 第一步:指定图片资源的URL 第二步:通过RUL获取一个connection 第三步:通过连接获取...
本篇将详细讲解如何在Android应用中实现从网络URL获取并显示图片的功能。 首先,我们需要一个网络库来处理HTTP请求。常见的有Volley、OkHttp和Retrofit等。这里以OkHttp为例,它是一个高效的网络库,支持异步请求和...
利用android开源库android-gif-drawable和android-async-http不仅能显示本地的gif图片,还能从网络上获取Gif图片并显示.即使是较大的gif图片,也不会报OOM异常。
在Android系统中,获取指定应用的流量统计是一项重要的任务,特别是在优化网络使用、监控数据消耗或者进行应用性能分析时。本文将深入探讨如何在Android环境下,针对特定的应用程序,统计其在WiFi和GPRS(2G)网络下...
在Android平台上,获取设备的内网IP地址是一个常见的需求,特别是在网络通信或者设备间互动的场景下。这个“获取android设备的内网IP地址”的demo就是为此目的设计的。它首先尝试通过WiFi接口获取IP,如果WiFi未开启...
Android获取移动网络信息的工具类,可获取周围基站信息,IMEI号,IMSI号,本机号码等工具类,供大家参考使用
在Android平台上,获取打印机状态是实现移动设备与打印机交互的关键环节。这主要涉及到Android的打印框架,它允许开发者不仅发送打印作业,还能监控打印机的工作状态,以便更好地控制打印过程和提供用户反馈。以下将...
在Android系统中,获取照片的拍摄日期以及其他相关信息是通过读取图像文件的元数据来实现的。这些元数据通常存储在JPEG文件的Exchangeable Image File Format (EXIF) 标签中。以下是一些关键步骤和知识点,教你如何...