天天看點

安卓系統資訊

     今天這片文章主要是講解APP的資訊和整個硬體的系統資訊,話不多說直接上代碼。

adapter.add(new InfoBean("app的簽名", SystemUtil.AppSignature()));
        adapter.add(new InfoBean("app的名稱", SystemUtil.AppName()));
        adapter.add(new InfoBean("app的版本号", SystemUtil.VersionCode() + ""));
        adapter.add(new InfoBean("app的版本号名", SystemUtil.VersionName()));
        adapter.add(new InfoBean("app的包名", SystemUtil.PackgeName()));
        adapter.add(new InfoBean("手機的IMEI号", SystemUtil.IMEI()));
        adapter.add(new InfoBean("手機的IMSI", SystemUtil.IMSI()));
        adapter.add(new InfoBean("手機的号碼", SystemUtil.Num()));
        adapter.add(new InfoBean("手機産品的序列号", SystemUtil.SN()));
        adapter.add(new InfoBean("手機的sim号", SystemUtil.SIM()));
        adapter.add(new InfoBean("手機的ID", SystemUtil.ID()));
        adapter.add(new InfoBean("手機的mac位址", SystemUtil.MAC()));
        adapter.add(new InfoBean("系統國家", SystemUtil.Country()));
        adapter.add(new InfoBean("系統語言", SystemUtil.Language()));
        adapter.add(new InfoBean("螢幕的高", SystemUtil.Height() + ""));
        adapter.add(new InfoBean("螢幕的寬", SystemUtil.Width() + ""));
        adapter.add(new InfoBean("系統版本名", Build.VERSION.RELEASE));
        adapter.add(new InfoBean("系統版本号", Build.VERSION.SDK_INT + ""));
        adapter.add(new InfoBean("系統型号", Build.MODEL));
        adapter.add(new InfoBean("系統定制商", Build.BRAND));
        adapter.add(new InfoBean("系統的主機闆", Build.BOARD));
        adapter.add(new InfoBean("手機制造商", Build.PRODUCT));
        adapter.add(new InfoBean("系統2", Build.HOST));
        adapter.add(new InfoBean("系統3", Build.TIME + "    " + System.currentTimeMillis()));
        adapter.add(new InfoBean("系統4", Build.USER));
        adapter.add(new InfoBean("系統硬體執照商", Build.MANUFACTURER));
        adapter.add(new InfoBean("builder類型", Build.MANUFACTURER));
           

  systemUtil類

public class SystemUtil {
    static Context context = BaseApplication.context;
    static PackageManager pm = context.getPackageManager();
    static String packname = context.getPackageName();

    /**
     * 擷取程式的權限
     */
    public static String[] AppPremission() {
        try {
            PackageInfo packinfo = pm.getPackageInfo(packname,
                    PackageManager.GET_PERMISSIONS);
            // 擷取到所有的權限
            return packinfo.requestedPermissions;

        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();

        }
        return null;
    }

    /**
     * 擷取程式的簽名
     */
    public static String AppSignature() {
        try {
            PackageInfo packinfo = pm.getPackageInfo(packname,
                    PackageManager.GET_SIGNATURES);
            // 擷取到所有的權限
            return packinfo.signatures[0].toCharsString();

        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();

        }
        return "No Search";
    }

    /**
     * 獲得程式圖示
     */
    public static Drawable AppIcon() {
        try {
            ApplicationInfo info = pm.getApplicationInfo(
                    context.getPackageName(), 0);
            return info.loadIcon(pm);
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();

        }
        return null;
    }

    /**
     * 獲得程式名稱
     */
    public static String AppName() {
        try {
            ApplicationInfo info = pm.getApplicationInfo(packname, 0);
            return info.loadLabel(pm).toString();
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return "No Search";
    }

    /**
     * 獲得軟體版本号
     */
    public static int VersionCode() {
        int versioncode = 0;
        try {
            versioncode = context.getPackageManager().getPackageInfo(
                    context.getPackageName(), 0).versionCode;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

        return versioncode;
    }

    /**
     * 獲得軟體版本名
     */
    public static String VersionName() {
        String versionname = "unknow";
        try {
            versionname = context.getPackageManager().getPackageInfo(
                    context.getPackageName(), 0).versionName;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

        return versionname;
    }

    /**
     * 得到軟體包名
     */
    public static String PackgeName() {
        String packgename = "unknow";
        try {
            packgename = context.getPackageManager().getPackageInfo(
                    context.getPackageName(), 0).packageName;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return packgename;
    }

    /**
     * 獲得imei号
     */
    public static String IMEI() {
        String imei = "NO Search";
        TelephonyManager telephonyManager = (TelephonyManager) context
                .getSystemService(Context.TELEPHONY_SERVICE);
        imei = telephonyManager.getDeviceId();
        return imei;
    }

    /**
     * 獲得imsi号
     */
    public static String IMSI() {
        String imsi = "NO Search";
        TelephonyManager telephonyManager = (TelephonyManager) context
                .getSystemService(Context.TELEPHONY_SERVICE);
        imsi = telephonyManager.getSubscriberId();
        return imsi;
    }

    /**
     * 傳回本機電話号碼
     */
    public static String Num() {
        String num = "NO Search";
        TelephonyManager telephonyManager = (TelephonyManager) context
                .getSystemService(Context.TELEPHONY_SERVICE);
        num = telephonyManager.getLine1Number();
        return num;
    }

    /**
     * 得到手機産品序列号
     */
    public static String SN() {
        String sn = "NO Search";
        String serial = android.os.Build.SERIAL;// 第二種得到序列号的方法
        try {
            Class<?> c = Class.forName("android.os.SystemProperties");
            Method get = c.getMethod("get", String.class);
            sn = (String) get.invoke(c, "ro.serialno");
        } catch (Exception e) {

            e.printStackTrace();
        }
        return sn;
    }

    /**
     * 獲得手機sim号
     */
    public static String SIM() {
        String sim = "NO Search";

        TelephonyManager telephonyManager = (TelephonyManager) context
                .getSystemService(Context.TELEPHONY_SERVICE);
        sim = telephonyManager.getSimSerialNumber();

        return sim;
    }

    /**
     * 傳回安卓裝置ID
     */
    public static String ID() {
        String id = "NO Search";
        id = android.provider.Settings.Secure.getString(
                context.getContentResolver(),
                android.provider.Settings.Secure.ANDROID_ID);

        return id;
    }

    /**
     * 得到裝置mac位址
     */
    public static String MAC() {
        String mac = "NO Search";
        WifiManager manager = (WifiManager) context
                .getSystemService(Context.WIFI_SERVICE);
        WifiInfo info = manager.getConnectionInfo();
        mac = info.getMacAddress();
        return mac;
    }

    /**
     * 得到目前系統國家和地區
     */
    public static String Country() {
        String country = "NO Search";
        country = context.getResources().getConfiguration().locale.getCountry();
        return country;
    }

    /**
     * 得到目前系統語言
     */
    public static String Language() {
        String language = "NO Search";
        String country = context.getResources().getConfiguration().locale
                .getCountry();
        language = context.getResources().getConfiguration().locale
                .getLanguage();
        // 區分簡體和繁體中文
        if (language.equals("zh")) {
            if (country.equals("CN")) {
                language = "Simplified Chinese";
            } else {
                language = "Traditional Chinese";
            }
        }
        return language;
    }

    /**
     * 傳回系統螢幕的高度(像素機關)
     */
    public static int Height() {
        int height = 0;
        DisplayMetrics dm = context.getResources().getDisplayMetrics();
        height = dm.heightPixels;
        return height;
    }

    /**
     * 傳回系統螢幕的寬度(像素機關)
     */
    public static int Width() {
        int width = 0;
        DisplayMetrics dm = context.getResources().getDisplayMetrics();
        width = dm.widthPixels;
        return width;
    }

}