获取手机信息的工具类

Android Telephony | operator.alpha 运营商名称信息来源代码解读 整理TelephonyProperties中跟operator运营商名称有关的信息属性的定义,Operator 运营商相关属性值定义以及信息来源代码解读,主要是operator.alpha,updateSpnDisplay()。 阅读详情
1. 手机的IMEI
2.手机的制式类型,GSM OR CDMA 手机

3.手机网络国家编码
4.手机网络运营商ID。
5.手机网络运营商名称
6.手机的数据链接类型
7.是否有可用数据链接
8.当前的数据链接类型
9.手机剩余内存
10.手机总内存
11.手机CPU型号
12.手机名称
13.手机型号
14.手机设备制造商名称
上图:
device-2012-02-20-213038.png
2012-2-20 21:41 上传
下载附件 (58.17 KB)


源码如下:

package com.ransj.tool;
 

import java.io.BufferedReader;
 
import java.io.FileNotFoundException;
 
import java.io.FileReader;
 
import java.io.IOException;
 
import java.io.ObjectInputStream.GetField;
 

import android.Manifest;
 
import android.app.Activity;
 
import android.app.ActivityManager;
 
import android.app.ActivityManager.MemoryInfo;
 
import android.content.Context;
 
import android.content.pm.PackageManager;
 
import android.net.ConnectivityManager;
 
import android.net.NetworkInfo;
 
import android.os.Build;
 
import android.telephony.TelephonyManager;
 
import android.util.Log;
 

/**
 
* retrieve phone info
 
*
 
* 
*/
 
public class PhoneInfo {
 
        private static final String TAG = PhoneInfo.class.getSimpleName();
 
        private static final String FILE_MEMORY = "/proc/meminfo";
 
        private static final String FILE_CPU = "/proc/cpuinfo";
 
        public String mIMEI;
 
        public int mPhoneType;
 
        public int mSysVersion;
 
        public String mNetWorkCountryIso;
 
        public String mNetWorkOperator;
 
        public String mNetWorkOperatorName;
 
        public int mNetWorkType;
 
        public boolean mIsOnLine;
 
        public String mConnectTypeName;
 
        public long mFreeMem;
 
        public long mTotalMem;
 
        public String mCupInfo;
 
        public String mProductName;
 
        public String mModelName;
 
        public String mManufacturerName;
 

        /**
 
         * private constructor
 
         */
 
        private PhoneInfo() {
 

        }
 

        /**
 
         * get imei
 
         * 
         * @return
 
         */
 
        public static String getIMEI(Context context) {
 
                TelephonyManager manager = (TelephonyManager) context
 
                                .getSystemService(Activity.TELEPHONY_SERVICE);
 
                // check if has the permission
 
                if (PackageManager.PERMISSION_GRANTED == context.getPackageManager()
 
                                .checkPermission(Manifest.permission.READ_PHONE_STATE,
 
                                                context.getPackageName())) {
 
                        return manager.getDeviceId();
 
                } else {
 
                        return null;
 
                }
 
        }
 

        /**
 
         * get phone type,like :GSM��CDMA��SIP��NONE
 
         * 
         * @param context
 
         * @return
 
         */
 
        public static int getPhoneType(Context context) {
 
                TelephonyManager manager = (TelephonyManager) context
 
                                .getSystemService(Activity.TELEPHONY_SERVICE);
 
                return manager.getPhoneType();
 
        }
 

        /**
 
         * get phone sys version
 
         * 
         * @return
 
         */
 
        public static int getSysVersion() {
 
                return Build.VERSION.SDK_INT;
 
        }
 

        /**
 
         * Returns the ISO country code equivalent of the current registered
 
         * operator's MCC (Mobile Country Code).
 
         * 
         * @param context
 
         * @return
 
         */
 
        public static String getNetWorkCountryIso(Context context) {
 
                TelephonyManager manager = (TelephonyManager) context
 
                                .getSystemService(Activity.TELEPHONY_SERVICE);
 
                return manager.getNetworkCountryIso();
 
        }
 

        /**
 
         * Returns the numeric name (MCC+MNC) of current registered operator.may not
 
         * work on CDMA phone
 
         * 
         * @param context
 
         * @return
 
         */
 
        public static String getNetWorkOperator(Context context) {
 
                TelephonyManager manager = (TelephonyManager) context
 
                                .getSystemService(Activity.TELEPHONY_SERVICE);
 
                return manager.getNetworkOperator();
 
        }
 

        /**
 
         * Returns the alphabetic name of current registered operator.may not work
 
         * on CDMA phone
 
         * 
         * @param context
 
         * @return
 
         */
 
        public static String getNetWorkOperatorName(Context context) {
 
                TelephonyManager manager = (TelephonyManager) context
 
                                .getSystemService(Activity.TELEPHONY_SERVICE);
 
                return manager.getNetworkOperatorName();
 
        }
 

        /**
 
         * get type of current network
 
         * 
         * @param context
 
         * @return
 
         */
 
        public static int getNetworkType(Context context) {
 
                TelephonyManager manager = (TelephonyManager) context
 
                                .getSystemService(Activity.TELEPHONY_SERVICE);
 
                return manager.getNetworkType();
 
        }
 

        /**
 
         * is webservice aviliable
 
         * 
         * @param context
 
         * @return
 
         */
 
        public static boolean isOnline(Context context) {
 
                ConnectivityManager manager = (ConnectivityManager) context
 
                                .getSystemService(Activity.CONNECTIVITY_SERVICE);
 
                NetworkInfo info = manager.getActiveNetworkInfo();
 
                if (info != null && info.isConnected()) {
 
                        return true;
 
                }
 
                return false;
 
        }
 

        /**
 
         * get current data connection type name ,like ,Mobile��WIFI��OFFLINE
 
         * 
         * @param context
 
         * @return
 
         */
 
        public static String getConnectTypeName(Context context) {
 
                if (!isOnline(context)) {
 
                        return "OFFLINE";
 
                }
 
                ConnectivityManager manager = (ConnectivityManager) context
 
                                .getSystemService(Activity.CONNECTIVITY_SERVICE);
 
                NetworkInfo info = manager.getActiveNetworkInfo();
 
                if (info != null) {
 
                        return info.getTypeName();
 
                } else {
 
                        return "OFFLINE";
 
                }
 
        }
 

        /**
 
         * get free memory of phone, in M
 
         * 
         * @param context
 
         * @return
 
         */
 
        public static long getFreeMem(Context context) {
 
                ActivityManager manager = (ActivityManager) context
 
                                .getSystemService(Activity.ACTIVITY_SERVICE);
 
                MemoryInfo info = new MemoryInfo();
 
                manager.getMemoryInfo(info);
 
                long free = info.availMem / 1024 / 1024;
 
                return free;
 
        }
 

        /**
 
         * get total memory of phone , in M
 
         * 
         * @param context
 
         * @return
 
         */
 
        public static long getTotalMem(Context context) {
 
                try {
 
                        FileReader fr = new FileReader(FILE_MEMORY);
 
                        BufferedReader br = new BufferedReader(fr);
 
                        String text = br.readLine();
 
                        String[] array = text.split("\\s+");
 
                        Log.w(TAG, text);
 
                        return Long.valueOf(array[1]) / 1024;
 
                } catch (FileNotFoundException e) {
 
                        e.printStackTrace();
 
                } catch (IOException e) {
 
                        e.printStackTrace();
 
                }
 
                return -1;
 
        }
 

        public static String getCpuInfo() {
 
                try {
 
                        FileReader fr = new FileReader(FILE_CPU);
 
                        BufferedReader br = new BufferedReader(fr);
 
                        String text = br.readLine();
 
                        String[] array = text.split(":\\s+", 2);
 
                        for (int i = 0; i < array.length; i++) {
 
                                Log.w(TAG, " .....  " + array[i]);
 
                        }
 
                        Log.w(TAG, text);
 
                        return array[1];
 
                } catch (FileNotFoundException e) {
 
                        e.printStackTrace();
 
                } catch (IOException e) {
 
                        e.printStackTrace();
 
                }
 
                return null;
 
        }
 

        /**
 
         * get product name of phone
 
         * 
         * @return
 
         */
 
        public static String getProductName() {
 
                return Build.PRODUCT;
 
        }
 

        /**
 
         * get model of phone
 
         * 
         * @return
 
         */
 
        public static String getModelName() {
 
                return Build.MODEL;
 
        }
 

        /**
 
         * get Manufacturer Name of phone
 
         * 
         * @return
 
         */
 
        public static String getManufacturerName() {
 
                return Build.MANUFACTURER;
 
        }
 

        public static PhoneInfo getPhoneInfo(Context context) {
 
                PhoneInfo result = new PhoneInfo();
 
                result.mIMEI = getIMEI(context);
 
                result.mPhoneType = getPhoneType(context);
 
                result.mSysVersion = getSysVersion();
 
                result.mNetWorkCountryIso = getNetWorkCountryIso(context);
 
                result.mNetWorkOperator = getNetWorkOperator(context);
 
                result.mNetWorkOperatorName = getNetWorkOperatorName(context);
 
                result.mNetWorkType = getNetworkType(context);
 
                result.mIsOnLine = isOnline(context);
 
                result.mConnectTypeName = getConnectTypeName(context);
 
                result.mFreeMem = getFreeMem(context);
 
                result.mTotalMem = getTotalMem(context);
 
                result.mCupInfo = getCpuInfo();
 
                result.mProductName = getProductName();
 
                result.mModelName = getModelName();
 
                result.mManufacturerName = getManufacturerName();
 
                return result;
 
        }
 

        @Override
 
        public String toString() {
 
                StringBuilder builder = new StringBuilder();
 
                builder.append("IMEI : "+mIMEI+"\n");
 
                builder.append("mPhoneType : "+mPhoneType+"\n");
 
                builder.append("mSysVersion : "+mSysVersion+"\n");
 
                builder.append("mNetWorkCountryIso : "+mNetWorkCountryIso+"\n");
 
                builder.append("mNetWorkOperator : "+mNetWorkOperator+"\n");
 
                builder.append("mNetWorkOperatorName : "+mNetWorkOperatorName+"\n");
 
                builder.append("mNetWorkType : "+mNetWorkType+"\n");
 
                builder.append("mIsOnLine : "+mIsOnLine+"\n");
 
                builder.append("mConnectTypeName : "+mConnectTypeName+"\n");
 
                builder.append("mFreeMem : "+mFreeMem+"M\n");
 
                builder.append("mTotalMem : "+mTotalMem+"M\n");
 
                builder.append("mCupInfo : "+mCupInfo+"\n");
 
                builder.append("mProductName : "+mProductName+"\n");
 
                builder.append("mModelName : "+mModelName+"\n");
 
                builder.append("mManufacturerName : "+mManufacturerName+"\n");
 
                return builder.toString();
 
        }
 
        
 
}
 


注意:需要如下权限
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

 

 

原文地址:http://www.eoeandroid.com/thread-157038-1-1.html
 

OpenCV自学记录(1)——(一拳超人)图像处理基础(图像获取、图像变化) 学习深度学习进行图像分类和目标检测时,要有一定的图像处理的基础。在学习深度学习之前,看了一本《图像处理技术基础》,现在也忘得差不多了,后悔当初没有整理记录下来。现在整理一下图像处理的常用方法,最后实现一个小项目——基于OpenCV的车牌号识别。 OpenCV自学记录(1)——图像处理基础(一)1、图像获取1.1获取图像数据1.2 获取摄像头图像数据2、图像变化2.1 移动(translation)... 阅读详情

相关推荐

NXP S32K3xx 多次复位(reset)后MCU跑死、崩溃、出错分析

s32k3出现多次复位后死机的情况

HeFlyYoung的博客 9513

android系统之apn相关

工作一年了,好久没来,默默地当颗小螺丝钉。今天借此机会把学习的写一下,记录下。最近工作在交接,正好总结回顾,这一年,主要和三个字母打交道A,P,N。 APN概述: APN 的类型分为web(internet),wap,mms三种类型,用于手机中上网时数据交换的接入点名称配置与显示。 APN配置的时候,出现的type的值主要有:default,mms,supl,dun。Defaul

dy_Learning的专栏 1万+

机器视觉/将HIK海康面阵相机连接Halcon软件

本文简述了如何将海康面阵相机连接到Halcon软件中进行实时取图的过程。

Dahe.qu 4866

【Android经验技巧】 Android全部系统属性含义(长期更新中...)

Android14所有系统属性含义, 持续更新中...

thirdbro的博客 2640

AXI VIP配置全指南:从报错到成功仿真的完整流程(Vivado 2023版)

本文详细解析了在Vivado 2023环境中配置AXI Verification IP(VIP)进行协议仿真的完整流程。针对常见的include和import报错问题,提供了具体的解决方案和代码示例,指导用户从IP核创建、参数化配置,到构建可工作的仿真测试平台,最终实现成功仿真。

gpt4scribbler的博客 233

国土变更调查中六类拓扑错误的成因分析与高效修复实践

本文深入分析了国土变更调查中六类拓扑错误的成因,包括边界不一致和不规则图形等常见问题,并提出了高效的自动化修复实践。通过智能咬合算法、引力-斥力平衡模型等核心技术,显著提升了修复效率,节省人工质检时间70%。文章还分享了实战中的避坑指南和黄金法则,为相关从业人员提供了宝贵经验。

weixin_29202213的博客 359

【Android应用开发】-(16)如何绕开Google Play地区限制

Google Market自从升级为Google Play,改进了很多功能,我们比较关注的可能还是关于下载的限制。比如说要下某个应用程序,发现所在的地区受到限制,又或者之前曾经用过的应用程序在Google Play上搜不到了。那该怎么办呢?这篇文章就来分析这个问题。其实要避开GooglePlay的限制网上已经有方法了--伪装运营商!也有开源的代码(MarketEnabler 3.0.8 / Mar

秋风的博客 2万+

利用NLP技术分析爬取的文本数据:Python爬虫与自然语言处理实战

网页爬虫(Web Crawler)是一种自动化脚本,通过模拟人类浏览网页的方式,定期抓取网页内容并进行分析和存储。对于大规模的数据抓取任务,爬虫技术提供了极大的便利。常见的Python爬虫库有requestsSelenium等。在本篇博客中,我们从爬取网页文本数据开始,通过清洗和预处理,最终利用自然语言处理技术(包括情感分析、文本分类等)对数据进行了深度分析。通过该过程,我们展示了如何使用Python爬虫抓取文本数据,并利用NLP技术进行分析和建模。

2201_76125261的博客 627

获取手机基本信息的工具类

import android.app.Activity; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.

Blue的博客 1153

java零基础从入门到精通(全)

目录前言1. 入门知识1.1 java体系1.2 JDK/JRE/JVM区别1.3 编译与运行理解1.4 类体函数细节2. 标识符 前言 java优势 健壮性(JVM(C++语言写的一个虚拟的计算机)、GC(垃圾回收机制)) 多线程并发 可移植性/跨平台 1. 入门知识 1.1 java体系 JavaSE:标准版 JavaEE:企业版 JavaME:微型版 1.2 JDK/JRE/JVM区别 JVM是不能独立安装的。 JRE和JDK都是可以独立安装的 层层嵌套,jvm包括jdk,jdk包括jre

码农研究僧的博客 6万+

基于Simulink的异步电机参数在线辨识与自适应控制仿真

本文基于Simulink平台,详细介绍了异步电机参数在线辨识与自适应控制系统的仿真实现。针对异步电机运行中参数时变问题,采用模型参考自适应系统(MRAS)实时辨识转子电阻和互感,并结合自适应PI控制策略动态调整控制器参数。通过搭建完整的矢量控制(FOC)仿真模型,验证了系统在稳态辨识、参数摄动和动态响应等工况下的性能:参数辨识误差<1.2%,转速跟踪误差<20rpm,动态响应时间<10ms。文章还提供了详细的Simulink建模步骤、核心代码实现及性能分析,为高级电机控制系统的设计与优化提

amy_mhd的博客 72

android 获取手机信息工具类

package com.yqy.yqy_listviewheadview; import android.content.Context; import android.telephony.TelephonyManager; import android.util.Log; /** * 获取手机信息工具类 * 内部已经封装了打印功能,只需要把DEBUG参数改为true即可 * 如果需要

Android翻山之路 1536

【Unity】【2D】用连续图片生成动画Animation的简明步骤

本文介绍了Unity中使用2D连续图片制作2D动画Animation的简明步骤。

O青草O的博客 Unity和游戏制作知识分享 718

Android 获取手机设备信息工具类

package com.shehuan.library.test.utils; import android.annotation.SuppressLint; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.net.ConnectivityManager; import android.net.Net.

Zhang_Paradise的博客 919

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

android 获取权限工具类,Android获取手机信息的工具类

网上收集的一些获取收集信息的代码,制作成一个工具类,以后可以方便调用。import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import android.app.Activity;import android.content.Context;import android.content....

weixin_34185033的博客 240

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Android 获取手机信息工具类

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

奋斗的小欣 913

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

获取手机信息工具类-android

闲暇时整理了获取手机信息的工具类,通过这个类,我们可以获得以下手机信息:1. 手机的IMEI2.手机的制式类型,GSM OR CDMA 手机3.手机网络国家编码4.手机网络运营商ID。5.手机网络运营商名称6.手机的数据链接类型7.是否有可用数据链接8.当前的数据链接类型9.手机剩余内存10.手机总内存11.手机CPU型号12.手机名称13.手机型号14.手机设备制造商名称上图: 源码如下: ...

kouriba 324

获取手机信息工具类-android .

闲暇时整理了获取手机信息的工具类,通过这个类,我们可以获得以下手机信息: 1. 手机的IMEI 2.手机的制式类型,GSM OR CDMA 手机 3.手机网络国家编码 4.手机网络运营商ID。 5.手机网络运营商名称 6.手机的数据链接类型 7.是否有可用数据链接 8.当前的数据链接类型 9.手机剩余内存 10.手机总内存 11.手机CPU型号 12.手机名称 13.

My'is android 历程 667

获取手机中所有apk相关信息的工具类

获取手机中所有apk相关信息的工具类

IT晓可程序员之路 818

获取手机信息的工具类PhoneHelper

PhoneHelper获取手机的一些基本信息,比如生产商家、固件版本、手机型号、手机号码、屏幕分辨率等代码如下import java.io.File; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import android.content.Context; import

u014580558的专栏 1249

Android:获取手机应用程序信息工具类

可以获得手机中,系统应用,第三方应用。根据包名获得应用信息,判断应用是否是系统应用 package com.zhuoma.packagemanager.utils; import java.util.ArrayList; import java.util.List; import android.content.Context; import android.content.pm.Appli

阿东 1562

针对获取手机上的一些特定信息的工具类

移动开发中我们常常会需要获取用户手机上的一些特定信息,如手机卡序列号,手机的imei等等: /** * 判断当前设备是手机还是平板 * * @param context * @return 平板返回 True,手机返回 False */ public static boolean isTablet(Context context)

gezhiyong1993的博客 322

鸿蒙获取 APP 信息及手机信息

前言:获取 APP 版本信息可以通过 bundleManager.getBundleInfoForSelfSync(bundleFlags) 去获取,获取手机信息可以通过 @kit.BasicServicesKit 库去获取,以下是封装好的工具类。* 获取 Version。

SophieBryant的博客 1082
上一篇: Android APK反编译详解(附图)
下一篇: 记录一下,G17第一次刷机成功
androidboy365
博客等级 码龄16年 35粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值