- 浏览: 562582 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
0759cxz:
good job!
Android 同时使用多个library时的问题 -
zhouxiaoli521:
lgj452555712 写道cursor 没有关闭,最好加上 ...
Android sqlite中判断某个表是否存在方法 -
lgj452555712:
cursor 没有关闭,最好加上finally 后关上fina ...
Android sqlite中判断某个表是否存在方法 -
zhouxiaoli521:
zhouxiaoli521 写道weinifk 写道publi ...
StringBuffer的setLength -
zhouxiaoli521:
weinifk 写道public static void ma ...
StringBuffer的setLength
Android开发平台中,可通过TelephonyManager 获取本机号码。
TelephonyManager phoneMgr=(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); txtPhoneNumber.setText(phoneMgr.getLine1Number()); //txtPhoneNumber是一个EditText 用于显示手机号
注:
根据Android的安全机制,在使用TelephonyManager时,必须在AndroidManifest.xml中添加<uses-permission android:name="READ_PHONE_STATE" /> 否则无法获得系统的许可。
手机型号 Build.MODEL
String | MODEL | The end-user-visible name for the end product. |
sdk版本 Build.VERSION.SDK
String | SDK | This constant is deprecated. Use SDK_INT to easily get this as an integer. |
及frimware版本号(系统版本号) Build.VERSION.RELEASE
String | RELEASE | The user-visible version string. |
private void loadPhoneStatus() { TelephonyManager phoneMgr=(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); txtPhoneModel.setText(Build.MODEL); //手机型号 txtPhoneNumber.setText(phoneMgr.getLine1Number());//本机电话号码 txtSdkVersion.setText(Build.VERSION.SDK);//SDK版本号 txtOsVersion.setText(Build.VERSION.RELEASE);//Firmware/OS 版本号 }
事实上,Build能向我们提供包括 硬件厂商,硬件编号,序列号等很多信息 调用方法也都同上,很简单。
String | BOARD | The name of the underlying board, like "goldfish". |
String | BOOTLOADER | The system bootloader version number. |
String | BRAND | The brand (e.g., carrier) the software is customized for, if any. |
String | CPU_ABI | The name of the instruction set (CPU type + ABI convention) of native code. |
String | CPU_ABI2 | The name of the second instruction set (CPU type + ABI convention) of native code. |
String | DEVICE | The name of the industrial design. |
String | DISPLAY | A build ID string meant for displaying to the user |
String | FINGERPRINT | A string that uniquely identifies this build. |
String | HARDWARE | The name of the hardware (from the kernel command line or /proc). |
String | HOST | |
String | ID | Either a changelist number, or a label like "M4-rc20". |
String | MANUFACTURER | The manufacturer of the product/hardware. |
String | MODEL | The end-user-visible name for the end product. |
String | PRODUCT | The name of the overall product. |
String | RADIO | The radio firmware version number. |
String | SERIAL | A hardware serial number, if available. |
String | TAGS | Comma-separated tags describing the build, like "unsigned,debug". |
long | TIME | |
String | TYPE | The type of build, like "user" or "eng". |
String | UNKNOWN | Value used for when a build property is unknown. |
String |
USER |
=================================================
首先我们来明确几个概念:
SIM卡存储的数据可分为四类: 第一类是固定存放的数据。这类数据在移动电话机被出售之前由SIM卡中心写入,包括国际移动用户识别号(IMSI)、鉴权密钥(KI)、鉴权和加密算法等等。 第二类是暂时存放的有关网络的数据。如位置区域识别码(LAI)、移动用户暂时识别码(TMSI)、禁止接入的公共电话网代码等。 第三类是相关的业务代码,如个人识别码(PIN)、解锁码(PUK)、计费费率等。 第四类是电话号码簿,是手机用户随时输入的电话号码。用户全部资料几乎都存储在SIM卡内,因此SIM卡又称为用户资料识别卡。
IMSI是一个唯一的数字, 标识了GSM和UMTS 网络里的唯一一个用户. 它存储 在手机的SIM卡里,它会通过手机发送到网络上. IMSI 与 SIM唯一对应 IMEI也是一串唯一的数字, 标识了 GSM 和 UMTS网络里的唯一一个手机.它通常被打印在手机里电池下面的那一面,拨 *#06# 也能看到它. IMEI 与 设备唯一对应. 1。IMEI不存在于SIM卡中,它是手机本身的串号。
下面给出获取手机本机号码的代码: TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
String deviceid = tm.getDeviceId(); String tel = tm.getLine1Number(); String imei = tm.getSimSerialNumber(); String imsi = tm.getSubscriberId();
添加权限: <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 注意,手机号码不是所有的都能获取。只是有一部分可以拿到。这个是由于移动运营商没有把手机号码的数据写入到sim卡中。这个就像是一个变量,当移动运营商为它赋值了,它自然就会有值。不赋值自然为空。这就是为什么很多人得不到本机号码的原因。
2。通常我们所说的手机号也不存在于SIM卡中,虽然SIM卡中有一个专门存储SIM卡本身号码的地方,但是此号码是通过手工设定的,而且是可以更改的。 SIM卡的识别通常使用IMSI号,这个对于SIM卡是唯一的。
3。使用SimGetRecordInfo之类的函数获得SIM卡的IMSI号码能否成功依赖于设备制造商是否实现了此函数,据我所知在DOPOD的机器上是可以获得,但是在联想的机器上却不行,其他机器没有。
4。获得IMEI以及IMSI可以通过RIL或者TAPI中的LINE操作的函数获得。
http://archive.cnblogs.com/a/1931248/
http://blog.csdn.net/lifanupc/archive/2010/07/08/5721484.aspx
发表评论
-
Android NDK开发环境搭建_r8
2014-04-23 16:32 1081本文主内容: 1、 Android NDK 安装 2、 ... -
Android java.lang.VerifyError 异常解决办法
2014-04-01 13:58 4598通常这个异常的问题出现在jar包上 我的情况是 sdk ... -
Android —— 关于ADT 17的BuildConfig.DEBUG
2014-03-21 11:02 1158在日常开发中,我们使用android.util.Lo ... -
Android 让多个Fragment 切换时不重新实例化
2013-12-05 18:48 1457在项目中需要进行Fragment的切换,一直都是用repla ... -
android学习—— context 和 getApplicationContext()
2013-09-22 11:08 1932在android中常常会遇到与context有关的内容 浅 ... -
Android requestFeature() must be called before adding content
2013-07-08 17:18 2369E/AndroidRuntime( 408): androi ... -
Android onActivityResult和横屏
2013-06-20 16:48 1834做一个项目 页面强制横屏 两个activity需要交互 现 ... -
Android 无法加载fragment的问题
2013-06-17 14:42 2455在项目中继承了fragment 重写了构造函数 make ... -
android源码解读一(Context)
2013-04-27 19:16 1794Context类 Context是一个抽象类 publi ... -
Android 4.1 动态加载APK中的资源
2013-04-24 17:29 4189*** is not owned by the curr ... -
Android ADT中增大AVD内存后无法启动:emulator failed to allocate memory 8
2013-04-15 15:45 1802过程中,增大对应AVD的 ... -
Android下面的MD5加密
2013-04-08 12:17 1003网上关于android下MD5加密的资料很多,但是测试了下 ... -
Android 调用系统应用程序信息(Application Info)界面
2013-03-15 18:30 1272“Android系统设置->应用程序->管理应用 ... -
Android Dialog背景透明和黑暗度
2013-03-14 18:20 4095设置透明度,主要设置的是dialog自身的透明度 ... -
全局监听SCREEN_ON和SCREEN_OFF的替代方法--监听屏幕解锁事件
2013-03-08 12:17 3040在做一个程序的时候,需要时刻保持某一服务是启动的, ... -
Android 退出应用程序
2013-01-21 10:53 926android.os.Process.killProcess ... -
Android控件WebView(浏览器)常用功能(图片、缩放)例子介绍
2012-11-06 11:03 2546Android系统默认提供WebView控件(view)来在应 ... -
Android ProgressBar使用.9图在部分android手机上显示异常!
2012-11-05 10:18 2171写道 我使用的是progressbar.xml配置文 ... -
Android 同时使用多个library时的问题
2012-10-29 12:40 1618剧情是这样,我的app要使用两个library,如:Li ... -
android圆形进度条ProgressBar颜色设置
2012-07-29 15:14 1362总结的挺全面 http://aichixihongshi.i ...
相关推荐
在CentOS 7系统镜像中的`package`文件夹包含了447个RPM包,这些包是构建和运行CentOS系统所必需的基础组件。RPM(Red Hat Package Manager)是一种广泛使用的软件包管理器,它允许用户方便地安装、升级、查询和删除...
本教程聚焦于SDK15.0.0版本下的nRF52832芯片进行无按钮DFU(Device Firmware Upgrade)的开发流程,帮助开发者实现高效、便捷的固件升级。nRF52832是一款由Nordic Semiconductor生产的低功耗蓝牙(Bluetooth Low ...
文档是关于H6 WiFi模块的使用说明书,版本号为0.8,初次发布时间为2017年2月24日,属于初始版本。该说明书由全志技术有限公司(Allwinner Technology)编写并拥有版权。 2. 编写目的 说明书旨在介绍WiFi模组移植...
在VScode中,打开SDK,找到并修改cm_demo_onenet.c中的用户SDK版本号,编译并生成新的固件文件。接着,通过logview工具生成差分包,然后利用串口助手将差分包发送给模组,执行升级。在升级完成后,通过发送特定指令...
a) 固件版本(FIRMWARE_VER):版本号为"4.0.4",用于打包updata.img时识别固件版本,并在升级时由BootLoader传递给内核。 b) 机型(MACHINE_MODEL):例如"rk30sdk",用于打包updata.img时使用,不同的项目可以自行...
这个版本号代表了GCC的主要版本为4.9,它在2015年发布,是GCC 4.x系列的一个稳定版本。Q3(第三季度)表明这个版本是在2015年的第三个月份进行更新和维护的,确保了与当时最新技术的兼容性。 3. 在nRF52832 SDK中...
本文档旨在为软件开发人员提供详尽的指南,介绍如何利用Broadcom的无线互联网连接为嵌入式设备开发安全的智能开发系统,并特别关注使用WICED智能开发系统创建支持安全无线固件升级(Over-the-Air Firmware Upgrade, ...
这个文件名可能表示Cypress公司的USB开发套件的一个版本,"CySuiteUSB"很可能是指Cypress的USB软件开发工具包,版本号为3.4.7,B204可能是该版本的一个小更新或补丁。这个套件通常包含驱动程序、固件开发工具、应用...
【升级工具2.73.6】是一款专为mp4固件设计的刷机和更新软件,其版本号为2.73.6CB,强调24位数据处理能力,表明该工具在处理数据时具备更高的精度和效率,旨在提供稳定且安全的设备升级体验。在IT领域,固件升级是...
描述中提到的是"ML302 ML305 ML306 OpenCPU V3.1.0 20210727 最新版",这进一步确认了这是一个针对这三个特定型号的OpenCPU固件的最新更新,版本号与标题一致,强调了其是最新的版本。 标签"ML302 ML305 4GCAT1...
版本号10.0可能代表着一个重大的里程碑,意味着该系统在功能和技术创新方面有显著提升。 3. **VM(虚拟机)**: 指的是运行在虚拟化环境中的操作系统实例。在这里,PAN-OS 10.0被设计成可以作为一个虚拟设备在VMware...
"BR61XX_MPTool_SDK1.2.0SP5.rar" 这个文件很可能是BR61XX系列的主控MP3开发工具包,版本号为1.2.0 Service Pack 5。SDK一般包括了驱动程序、API文档、示例代码以及调试工具,帮助开发者编写和调试与硬件交互的应用...
这个版本号为1.45的工具包,是开发者针对炬力芯片进行固件定制、调试和优化的重要辅助软件。通过FirmDevKit,用户能够更高效地进行固件编程,提高产品的性能和稳定性。 固件(Firmware)是存储在电子设备中控制硬件...
这里的数字部分(如7.2.0)代表固件的版本号,不同的版本可能对应着不同的功能改进、安全更新或兼容性修复。 NRF52840协议栈是Nordic Semiconductor提供的软硬件解决方案,它包括了完整的无线协议栈和微控制器驱动...
而“123”可能是特定版本号或者项目的标识。 描述中的信息虽然简洁,但我们可以推测这个开发箱可能包含了用于测试和开发OneNet应用的所有必要硬件和软件组件。它可能包括传感器、微控制器(如STM,标签中提到的)、...
最后,手册通过版本修订号1.0(Aug.2018)表明了固件库的版本信息,提示用户可能会有功能的更新或修正,建议用户在开发过程中及时关注最新的固件库更新。 总的来说,GD32E230固件库用户手册提供了丰富的关于GD32...