手机设备信息

<“寸”是中国传统长度单位,1丈 = 10尺 = 100寸,其中1寸 = 3.33厘米
“英寸”是英联邦使用的长度单位,1码 = 3英尺 = 36英寸,其中1英寸 = 2.54厘米>
屏幕大小 指的是对角线的长度,单位为英寸
屏幕分辨率 指的是屏幕上长宽的像素点数 例如 720 * 1280
density屏幕密度
<ppi/dpi (pixels/dot per inch)>(设备对角线上像素点的个数chu屏幕大小)

132345_fUAK_3342652.png

HVGA屏下一个像素点的大小是一定固定的值xxx英寸,此时 1 dp = 1 px
for example:

132416_r74O_3342652.png

public int getPixel (int x, int y)   返回指定位置的像素颜色值
    public final int getWidth()          获取位图的宽度(像素点个数)

    /**
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
     */
    public static int dip2px(float dpValue) {
        final float scale = getResources().getDisplayMetrics().density;
        return (int) (dpValue * scale + 0.5f);
    }

    其中 desity = DENSITY_DEVICE / (float) DENSITY_DEFAULT;  DENSITY_DEFAULT = 160
    在此设备上1dp用多少像素点表示
    系统加载图片时会优先从与设备屏幕密度相同的图片资源文件中查找,如果没有去更高密度文件夹<图片会变小>,
    还找不到则去低密度查找<图片会变大>。
// 获取屏幕的宽高

    DisplayMetrics metric = new DisplayMetrics();
    activity.getWindowManager().getDefaultDisplay().getMetrics(metric);
    scaledDensity = metric.scaledDensity;
    if (metric.heightPixels >= metric.widthPixels) {
        screenWidthForPortrait = metric.widthPixels;
        screenHeightForPortrait = metric.heightPixels;
    } else {
        screenWidthForPortrait = metric.heightPixels;
        screenHeightForPortrait = metric.widthPixels;
    }

    获取设备的IP地址
    public String GetHostIp() {
        try {
            for (Enumeration<NetworkInterface> en = NetworkInterface
                    .getNetworkInterfaces(); en.hasMoreElements(); ) {
                NetworkInterface intf = en.nextElement();
                for (Enumeration<InetAddress> enumIpAddr = intf
                        .getInetAddresses(); enumIpAddr.hasMoreElements(); ) {
                    InetAddress inetAddress = enumIpAddr.nextElement();
                    if (!inetAddress.isLoopbackAddress()
                            && InetAddressUtils.isIPv4Address(inetAddress
                            .getHostAddress())) {
                        if (!inetAddress.getHostAddress().toString()
                                .equals("null")
                                && inetAddress.getHostAddress() != null) {
                            return inetAddress.getHostAddress().toString().trim();
                        }
                    }
                }
            }
        } catch (SocketException ex) {
            Log.e("WifiPreference IpAddress", ex.toString());
        }
        return "";
    }

    Build相关属性和调用系统信息的方法
    一、Build类的作用主要是获取系统信息,他有两个嵌套类:
    Build.BOARD // 主板   
    Build.BRAND // Android系统定制商   
    Build.CPU_ABI // cpu指令集   
    Build.DEVICE // 设备参数   
    Build.DISPLAY // 显示屏参数   
    Build.FINGERPRINT // 硬件名称   
    Build.HOST  //
    Build.ID // 修订版本列表   
    Build.MANUFACTURER // 硬件制造商   
    Build.MODEL // 版本   
    Build.PRODUCT // 手机制造商   
    Build.TAGS // 描述build的标签   
    Build.TIME  //时间
    Build.TYPE // builder类型   
    Build.USER  //用户

    ① Build.VERSION      获取android系统的版本信息。

    当前开发代号   Build.VERSION.CODENAME
    源码控制版本号   Build.VERSION.INCREMENTAL
    版本字符串   Build.VERSION.RELEASE
    版本号   Build.VERSION.SDK

    版本号   Build.VERSION.SDK_INT
    ② Build.VERSION_CODES 这个类封装了已经存在的SDK框架及android版本。

    ECLAIR_0_1 December 2009: Android 2.0.1
    ECLAIR_MR1 January 2010: Android 2.1
    FROYO June 2010: Android 2.2
    GINGERBREAD November 2010: Android 2.3
    GINGERBREAD_MR1 February 2011: Android 2.3.3.
    HONEYCOMB February 2011: Android 3.0.
    HONEYCOMB_MR1 May 2011: Android 3.1.
    HONEYCOMB_MR2 June 2011: Android 3.2.
    ICE_CREAM_SANDWICH Android 4.0.

    二、关于在获取系统信息的使用
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2)对比应用的版本与平台的版本做相应的处理。
    @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)这个语句在程序中指出应用的版本。

    getRadioVersion方法可以根据以上属性获取系统信息。


    获取 imei

    String imeiId = ((TelephonyManager)

            context.getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId();

    获取 user_agent

    WebSettings.getDefaultUserAgent(context)

转载于:https://my.oschina.net/u/3342652/blog/893175

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值