Android系统获取手机型号和系统版本号,以及其他配置信息

news/2024/7/5 9:07:51

<pre name="code" class="java">String sdk=android.os.Build.VERSION.SDK; // SDK号
String model=android.os.Build.MODEL; // 手机型号
String release=android.os.Build.VERSION.RELEASE; // android系统版本号

执行以下代码前,须在manifest.xml文件中添加权限 
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
 
import android.app.Activity;     
import android.os.Bundle;     
import android.telephony.CellLocation;     
import android.telephony.PhoneStateListener;     
import android.telephony.TelephonyManager;     
public class TelManager extends Activity {     
    
@Override    
protected void onCreate(Bundle savedInstanceState) {     
  super.onCreate(savedInstanceState);     
  TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);     
       
  /*   
   * 电话状态:   
   * 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     
       
  /*   
   * 设备的软件版本号:   
   * 例如:the IMEI/SV(software version) for GSM phones.   
   * Return null if the software version is not available.    
   */    
  tm.getDeviceSoftwareVersion();//String     
       
  /*   
   * 手机号:   
   * GSM手机的 MSISDN.   
   * Return null if it is unavailable.    
   */    
  tm.getLine1Number();//String     
       
  /*   
   * 附近的电话的信息:   
   * 类型:List<NeighboringCellInfo>    
   * 需要权限:android.Manifest.permission#ACCESS_COARSE_UPDATES   
   */    
  tm.getNeighboringCellInfo();//List<NeighboringCellInfo>     
       
  /*   
   * 获取ISO标准的国家码,即国际长途区号。   
   * 注意:仅当用户已在网络注册后有效。   
   *       在CDMA网络中结果也许不可靠。   
   */    
  tm.getNetworkCountryIso();//String     
       
  /*   
   * MCC+MNC(mobile country code + mobile network code)   
   * 注意:仅当用户已在网络注册时有效。   
   *    在CDMA网络中结果也许不可靠。   
   */    
  tm.getNetworkOperator();//String     
       
  /*   
   * 按照字母次序的current registered operator(当前已注册的用户)的名字   
   * 注意:仅当用户已在网络注册时有效。   
   *    在CDMA网络中结果也许不可靠。   
   */    
  tm.getNetworkOperatorName();//String     
       
  /*   
   * 当前使用的网络类型:   
   * 例如: NETWORK_TYPE_UNKNOWN  网络类型未知  0   
     NETWORK_TYPE_GPRS     GPRS网络  1   
     NETWORK_TYPE_EDGE     EDGE网络  2   
     NETWORK_TYPE_UMTS     UMTS网络  3   
     NETWORK_TYPE_HSDPA    HSDPA网络  8    
     NETWORK_TYPE_HSUPA    HSUPA网络  9   
     NETWORK_TYPE_HSPA     HSPA网络  10   
     NETWORK_TYPE_CDMA     CDMA网络,IS95A 或 IS95B.  4   
     NETWORK_TYPE_EVDO_0   EVDO网络, revision 0.  5   
     NETWORK_TYPE_EVDO_A   EVDO网络, revision A.  6   
     NETWORK_TYPE_1xRTT    1xRTT网络  7   
   */    
  tm.getNetworkType();//int     
       
  /*   
   * 手机类型:   
   * 例如: PHONE_TYPE_NONE  无信号   
     PHONE_TYPE_GSM   GSM信号   
     PHONE_TYPE_CDMA  CDMA信号   
   */    
  tm.getPhoneType();//int     
       
  /*   
   * Returns the ISO country code equivalent for the SIM provider's country code.   
   * 获取ISO国家码,相当于提供SIM卡的国家码。   
   *    
   */    
  tm.getSimCountryIso();//String     
       
  /*   
   * Returns the MCC+MNC (mobile country code + mobile network code) of the provider of the SIM. 5 or 6 decimal digits.   
   * 获取SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字.   
   * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).   
   */    
  tm.getSimOperator();//String     
       
  /*   
   * 服务商名称:   
   * 例如:中国移动、联通   
   * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).   
   */    
  tm.getSimOperatorName();//String     
       
  /*   
   * SIM卡的序列号:   
   * 需要权限:READ_PHONE_STATE   
   */    
  tm.getSimSerialNumber();//String     
       
  /*   
   * SIM的状态信息:   
   *  SIM_STATE_UNKNOWN          未知状态 0   
   SIM_STATE_ABSENT           没插卡 1   
   SIM_STATE_PIN_REQUIRED     锁定状态,需要用户的PIN码解锁 2   
   SIM_STATE_PUK_REQUIRED     锁定状态,需要用户的PUK码解锁 3   
   SIM_STATE_NETWORK_LOCKED   锁定状态,需要网络的PIN码解锁 4   
   SIM_STATE_READY            就绪状态 5   
   */    
  tm.getSimState();//int     
       
  /*   
   * 唯一的用户ID:   
   * 例如:IMSI(国际移动用户识别码) for a GSM phone.   
   * 需要权限:READ_PHONE_STATE   
   */    
  tm.getSubscriberId();//String     
       
  /*   
   * 取得和语音邮件相关的标签,即为识别符   
   * 需要权限:READ_PHONE_STATE   
   */    
  tm.getVoiceMailAlphaTag();//String     
       
  /*   
   * 获取语音邮件号码:   
   * 需要权限:READ_PHONE_STATE   
   */    
  tm.getVoiceMailNumber();//String     
       
  /*   
   * ICC卡是否存在   
   */    
  tm.hasIccCard();//boolean     
       
  /*   
   * 是否漫游:   
   * (在GSM用途下)   
   */    
  tm.isNetworkRoaming();//         
}       
} 


获取当前应用的版本号:
private String getVersionName() throws Exception
{
// 获取packagemanager的实例
PackageManager packageManager = getPackageManager();
// getPackageName()是你当前类的包名,0代表是获取版本信息
PackageInfo packInfo = packageManager.getPackageInfo(getPackageName(),0);
String version = packInfo.versionName;
return version;
}



文章最后不能忘了版权保护,维护同行的权益

文章转载自:http://www.cnblogs.com/jaenson/archive/2013/01/06/2847760.html


http://www.niftyadmin.cn/n/3649390.html

相关文章

网页模块实现电脑端显示(隐藏)手机端隐藏(显示)

在开发的很多时候&#xff0c;遇到有些模块在电脑端显示正常&#xff0c;而到手机端就显示不正常&#xff0c;或者有些模块只想在电脑或手机一端显示。另一端不显示。这个就要用到HTMLCSS的隐藏功能了。 1、电脑端显示&#xff0c;手机端隐藏&#xff0c;以下是CSS样式&#xf…

赵勖予:再见,CodeArtist(下)

Lee感到穷途末路。根据国家信息产业部当年的统计数字&#xff0c;我国IT行业的人才需求每年增加一百万&#xff0c;而这一百万中竟然没有单片机天才Lee的一个位置。激愤之下他甚至打算回安阳钢厂&#xff0c;再去做他的弱电工人&#xff0c;但世上又哪有如此好走的回头路&#…

5分钟即可开始视觉测试

介绍 (Introduction) There are tons of tools out there that help you make sure your app is functioning perfectly, but how do you catch bugs that are purely visual? 有大量工具可帮助您确保应用程序正常运行&#xff0c;但是如何捕获纯可视化的错误&#xff1f; In…

WordPress自定义代码实现圆角彩色标签云

WordPress默认的标签云是黑白的&#xff0c;博主使用的DUX主题的标签云虽然有颜色&#xff0c;但是也不是彩色的。所以想到了自定义代码实现圆角彩色标签云。 使用方法&#xff1a;在当前主题目录下面的functions.php里面加入以下代码&#xff1a; //圆角背景色标签 function c…

自定义view-绘制统计图

效果图如下: 主要代码&#xff1a; public class MyTestView extends View { private Paint mPaint; private static final String title "2013-2017上半年的销售情况"; private static final String content "来自公司销售的统计数据"; public MyTe…

怎么计算apk的启动时间?

利用python或者直接用adb命令怎么计算apk的启动时间呢&#xff1f;就是计算从点击图标到apk完全启动所花费的时间。比如&#xff0c;对游戏来说就是点击游戏图标到进入到登录界面的这段时间。 已知的两种方法貌似可以获取&#xff0c;但是感觉结果不准确&#xff1a;一种是&…

如何在Ubuntu 18.04上安装和使用TimescaleDB

The author selected the Computer History Museum to receive a donation as part of the Write for DOnations program. 作者选择“ 计算机历史博物馆”作为“ Write for DOnations”计划的一部分接受捐赠。 介绍 (Introduction) Many applications, such as monitoring sys…

国产操作系统deepin(深度)的安装与体验

Deepin原名Linux Deepin、deepin os、深度系统、深度操作系统&#xff0c;于2014年4月改名Deepin。deepin操作系统是由武汉深之度科技有限公司开发的Linux发行版。deepin操作系统是一个基于Debian的Linux操作系统&#xff0c;专注于使用者对日常办公、学习、生活和娱乐的操作体…