手机设备信息
博客专区 > t_yapeng 的博客 > 博客详情
手机设备信息
t_yapeng 发表于7个月前
手机设备信息
  • 发表于 7个月前
  • 阅读 8
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

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

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

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)
共有 人打赏支持
粉丝 4
博文 89
码字总数 26204
×
t_yapeng
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: