private static final String FILE_MEMORY = "/proc/meminfo";
private static final String FILE_CPU = "/proc/cpuinfo";
/**
* 得到IMEI
*
* @return
*/
public static final String getIMEI(Context context) {
TelephonyManager tm = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
String imei = tm.getDeviceId();
if (imei == null || imei.equals("000000000000000")) {
return "0";
}
return imei;
} /**
* 得到序列号
*
* @param context
* @return
*/
public static final String getSeriNumber(Context context) {
TelephonyManager tm = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
String sn = tm.getSimSerialNumber();
return sn;
} /**
* 得到IMSI
*
* @return
*/
public static final String getIMSI(Context context) {
TelephonyManager tm = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
String imsi = tm.getSimSerialNumber();
if (imsi == null || imsi.equals("000000000000000")) {
return "0";
}
return imsi;
}
/**
* <p>
* 手机可用内存大小
* </p>
*
* @param context
* @return
* @author chenfei
* @date 2013-1-4
*/
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;
} /**
* <p>
* 手机整体内存大小
* </p>
*
* @param context
* @return
* @author chenfei
* @date 2013-1-4
*/
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+");
return Long.valueOf(array[1]) / 1024;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return -1;
} /**
* <p>
* 手机CPU型号
* </p>
*
* @return
* @author chenfei
* @date 2013-1-4
*/
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);
return array[1];
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
} /**
* <p>
* 手机型号 如 XT702
* </p>
*
* @return
* @author chenfei
* @date 2013-1-4
*/
public static String getModelName() {
return Build.MODEL;
} /**
* <p>
* 手机厂商名称
* </p>
*
* @return
* @author chenfei
* @date 2013-1-4
*/
public static String getManufacturerName() {
return Build.MANUFACTURER;
}
/**
* <p>
* 手机操作系统版本
* </p>
*
* @return
* @author chenfei
* @date 2013-1-4
*/
public static String getSoftSDKVersion() {
return Build.VERSION.RELEASE;// Firmware/OS 版本号
} /**
* 获取蓝牙mac地址
*
* @return
*/
public static String getBluetoothAddress() {
String address = BluetoothAdapter.getDefaultAdapter().getAddress();
return address == null ? "" : address;
} /**
* 获取上网方式
*
* @param mContext
* @return
*/
public static String getNetType(Context mContext) { String netType = "";
ConnectivityManager connectionManager = (ConnectivityManager) mContext
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectionManager.getActiveNetworkInfo();
if (null != info && info.isAvailable()) {
netType = info.getTypeName();
}
return netType;
} /**
* 判断网络连接是否可用
*
* @param mContext
* @return
*/ public static boolean getNetIsVali(Context mContext) { if (mContext != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) mContext
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager
.getActiveNetworkInfo();
if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
}
}
return false;
} /**
* 获取运营商信息
*
* @param mContext
* @return
*/
public static String getNetExtraInfo(Context mContext) { String netExtraInfo = "";
TelephonyManager mTm = (TelephonyManager) mContext
.getSystemService(Context.TELEPHONY_SERVICE);
if (mTm.getSimState() == TelephonyManager.SIM_STATE_READY) {
netExtraInfo = mTm.getSimOperator();
if (null != netExtraInfo) {
if (netExtraInfo.equals("46000")
|| netExtraInfo.equals("46002")
|| netExtraInfo.equals("46007")) {
// 中国移动
netExtraInfo = "中国移动";
} else if (netExtraInfo.equals("46001")) { // 中国联通
netExtraInfo = "中国联通";
} else if (netExtraInfo.equals("46003")) { // 中国电信
netExtraInfo = "中国电信";
} else {
netExtraInfo = "其他";
}
}
}
return netExtraInfo;
} /**
* 得到wifi地址
*
* @param context
* @return
*/
public static String getWIFIMac(Context context) {
WifiManager wifi = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
String wifiMac = info.getMacAddress();
return wifiMac;
} /**
* 获取电话号码
*
* @param context
* @return
*/
public static String getPhoneNumber(Context context) {
TelephonyManager mTelephonyMgr;
mTelephonyMgr = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
return mTelephonyMgr.getLine1Number();
}

暂时先写这么多,部分机型获取获取不到一些属性比如电话号,蓝牙地址,序列号。使用时注意manifest中加入相应权限

android获取设备全部信息的更多相关文章

  1. [Android]获取设备相关信息

    public static int screenWidth(Activity activity) { DisplayMetrics dm = new DisplayMetrics(); activit ...

  2. linux驱动之获取设备树信息

    上一篇文章学习了字符设备的注册,操作过的小伙伴都知道上一篇文章中测试驱动时是通过手动创建设备节点的,现在开始学习怎么自动挂载设备节点和设备树信息的获取,这篇文章中的源码将会是我以后编写字符驱动的模板. ...

  3. Android 获取设备信息 异常

    /**获取设备信息 * @param c * @return */ public static void setDeviceInfo(Context c,RequestParams params){ ...

  4. 关于Android的Build类——获取Android手机设备各种信息

    经常遇到要获取Android手机设备的相关信息,来进行业务的开发,比如经常会遇到要获取CPU的类型来进行so库的动态的下载.而这些都是在Android的Build类里面.相关信息如下: private ...

  5. android获取设备唯一标示

    概述 有时需要对用户设备进行标识,所以希望能够得到一个稳定可靠并且唯一的识别码.虽然Android系统中提供了这样设备识别码,但是由于Android系统版本.厂商定制系统中的Bug等限制,稳定性和唯一 ...

  6. 【转】 android获取设备唯一标识完美解决方案

    <p style="margin: 10px auto; padding-top: 0px; padding-bottom: 0px; color: rgb(51, 51, 51);  ...

  7. Android 获取设备唯一标识码

    概述 有时需要对用户设备进行标识,所以希望能够得到一个稳定可靠并且唯一的识别码.虽然Android系统中提供了这样设备识别码,但是由于Android系统版本.厂商定制系统中的Bug等限制,稳定性和唯一 ...

  8. android 获取系统硬件信息

    一,首先设置权限访问: <uses-permission android:name="android.permission.READ_PHONE_STATE" />  ...

  9. iOS开发-获取设备型号信息

    开发中有的时候查看设计统计数据,或者通过日志查看错误信息,这个时候我们就需要获取获取设备信息,看下关于设备有几种方法: NSLog(@"%@",[[UIDevice current ...

随机推荐

  1. html整理(2)

    使用mailto在网页中链接Email地址 <a>标签还有一个作用是可以链接Email地址,使用mailto能让访问者便捷向网站管理者发送电子邮件.我们还可以利用mailto做许多其它事情 ...

  2. UVa11732 "strcmp()" Anyone?(Trie树+孩子兄弟表示法)

    我的做法是先建字典树,统计每个结点出现次数和相同字符串个数,每个结点对答案的贡献就是2*C(次数,2),然后再分别讨论相同字符串和不同字符串对答案的贡献. 另外这题主要就是Trie树的孩子兄弟表示法: ...

  3. winform学习之----图片控件应用(上一张,下一张)

    示例1: int i = 0;        string[] path = Directory.GetFiles(@"C:\Users\Administrator\Desktop\图片&q ...

  4. linux用户和组管理

    添加组groupadd sftp 把用户mysftp加入组sftp中:gpasswd -a mysftp sftp 把用户mysftp加入组sftp中:usermod -a -G sftp mysft ...

  5. hdu Collect More Jewels

    思路: 先用bfs求出入口,宝物,出口,两两之间的最短距离. 在用dfs搜索所有情况,求出从入口走到出口能获得的最大价值. 我们要解决几个问题:1.求入口到第一个取宝物的地方的最短距离 2.求第i个取 ...

  6. 使用javascript打开链接的多种方法

    在页面中的链接除了常规的方式以外,如果使用javascript,还有很多种方式,下面是一些使用javascript,打开链接的几种方式: 1.使用window的open方法打开链接,这里可是在制定页面 ...

  7. Html - a标签如何包裹Div

    a标签如何包裹Div? 其实应该将思路转变为将a标签作为一个遮罩来覆盖div. 做法是将a标签放置在该div下,通过将div进行相对定位[position:relative] 将a标签进行绝对定位[p ...

  8. php中的正则表达式具体的说明案例

    让我们看看两个非凡的字符:'^' 和 '$' 他们是分别用来匹配字符串的开始和结束,一下分别举例说明: "^The": 匹配以 "The"开头的字符串; &qu ...

  9. JavaScript操作DOM对象

    js的精华即是操作DOM对象 [1]先看代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8& ...

  10. 简单实现Redis缓存中的排序功能

    1.在实现缓存排序功能之前,必须先明白这一功能的合理性.不妨思考一下,既然可以在数据库中排序,为什么还要把排序功能放在缓存中实现呢?这里简单总结了两个原因:首先,排序会增加数据库的负载,难以支撑高并发 ...