android获取设备全部信息

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中加入相应权限

时间: 2024-10-11 01:03:03

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

Android上获取设备的信息

http://www.cnblogs.com/chenyingzhong/archive/2011/07/26/2117259.html Android上获取设备的信息,布布扣,bubuko.com

android获取设备信息

public class DeviceInfo { private static Application APP = null; private static String sd_card = Environment.getExternalStorageDirectory()+File.separator+"wlcache"; public static Application getApp() { return APP; } // 获取手机型号 public static Strin

Android 获取设备信息 异常

/**获取设备信息 * @param c * @return */ public static void setDeviceInfo(Context c,RequestParams params){ TelephonyManager tm = (TelephonyManager) c.getSystemService(Context.TELEPHONY_SERVICE); if(tm!=null){ try{ params.add("deviceId", tm.getDeviceId(

Android获取设备采用的时间制式(12小时制式或24小时制式)

/** * 获取设备采用的时间制式(12小时制式或者24小时制式) * 注意: * 在模拟器上获取的时间制式为空 */ private void getTime_12_24(Context context){ ContentResolver contentResolver = context.getContentResolver(); String time_12_24 = Settings.System.getString(contentResolver,Settings.System.TIM

android获取周围AP信息

1.增加权限: 由于此应用需要获取手机的网络信息,wifi信息,因此需要在AndroidManifest.xml文件中添加相关权限,否则会报permission deny错误: 1 <uses-permission android:name="android.permission.INTERNET"/> 2 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE">

android 获取设备中已启动的服务并判断某一服务是否启动

我们常常在开发的时候,通过获取系统已启动的服务来判断该服务器是否还需要再启动. 而本文将介绍android设备中已启动的服务,并判断某一服务是启动 1.根据ACTIVITY_SERVICE获取系统服务 activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 2.获取系统中正在运行的服务 runningList = activityManager.getRunningServices(30);//代表我们希望返

Android获取全部联系人信息的例子

先定义一个显示条目的xml布局文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_conte

获取设备的信息

NSLog(@"globallyUniqueString=%@",[[NSProcessInfo processInfo] globallyUniqueString]);//全球唯一标识 NSLog(@"uniqueIdentifie=%@",[UIDevice currentDevice].uniqueIdentifier);//唯一的标识 可用于区分设备 NSLog(@"name=%@",[UIDevice currentDevice].na

Android 获取运营商信息(完整版)-解决高通,MTK等双卡问题

由于国内的运营商问题,双卡手机获取IMSI号问题要根据厂商API 来实现. 下面我们就来做一套完整的分析运营商获取IMSI号逻辑. 1,首先我们要判断手机的平台. 1.1,判断手机是否MTK平台 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 public static M