当前位置: 移动技术网 > IT编程>移动开发>Android > Android获取手机信息的工具类

Android获取手机信息的工具类

2019年08月02日  | 移动技术网IT编程  | 我要评论

江户盗贼团五叶ost,中国工艺品网站,素衣紫冠

网上收集的一些获取收集信息的代码,制作成一个工具类,以后可以方便调用。

import java.io.bufferedreader;
import java.io.filereader;
import java.io.ioexception;

import android.app.activity;
import android.content.context;
import android.content.pm.applicationinfo;
import android.content.pm.packagemanager;
import android.net.wifi.wifiinfo;
import android.net.wifi.wifimanager;
import android.provider.settings;
import android.telephony.telephonymanager;
import android.text.format.formatter;

/**
 * 获取手机信息工具类
 * 
 */
public class phoneutil {

  private static phoneutil instance;

  private telephonymanager tm;
  private activity act;

  private phoneutil(activity act) {
    tm = (telephonymanager) act.getsystemservice(context.telephony_service);
    this.act = act;
  }

  public static phoneutil getinstance(activity act) {
    if (instance == null) {
      instance = new phoneutil(act);
    } else if (instance.act != act) {
      instance = new phoneutil(act);
    }
    return instance;
  }

  /** 是否处于飞行模式 */
  public boolean isairmodeopen() {
    return (settings.system.getint(act.getcontentresolver(), settings.system.airplane_mode_on, 0) == 1 ? true
        : false);
  }

  /** 获取手机号码 */
  public string getphonenumber() {
    return tm == null ? null : tm.getline1number();
  }

  /** 获取网络类型(暂时用不到) */
  public int getnetworktype() {
    return tm == null ? 0 : tm.getnetworktype();
  }

  /** 获取手机sim卡的序列号(imsi) */
  public string getimsi() {
    return tm == null ? null : tm.getsubscriberid();
  }

  /** 获取手机imei */
  public string getimei() {
    return tm == null ? null : tm.getdeviceid();
  }

  /** 获取手机型号 */
  public static string getmodel() {
    return android.os.build.model;
  }

  /** 获取手机品牌 */
  public static string getbrand() {
    return android.os.build.brand;
  }

  /** 获取手机系统版本 */
  public static string getversion() {
    return android.os.build.version.release;
  }

  /** 获得手机系统总内存 */
  public string gettotalmemory() {
    string str1 = "/proc/meminfo";// 系统内存信息文件
    string str2;
    string[] arrayofstring;
    long initial_memory = 0;

    try {
      filereader localfilereader = new filereader(str1);
      bufferedreader localbufferedreader = new bufferedreader(localfilereader, 8192);
      str2 = localbufferedreader.readline();// 读取meminfo第一行,系统总内存大小

      arrayofstring = str2.split("\\s+");

      initial_memory = integer.valueof(arrayofstring[1]).intvalue() * 1024;// 获得系统总内存,单位是kb,乘以1024转换为byte
      localbufferedreader.close();

    } catch (ioexception e) {
    }
    return formatter.formatfilesize(act, initial_memory);// byte转换为kb或者mb,内存大小规格化
  }

  /** 获取手机屏幕宽 */
  public int getscreenwidth() {
    return act.getwindowmanager().getdefaultdisplay().getwidth();
  }

  /** 获取手机屏高宽 */
  public int getscreenheight() {
    return act.getwindowmanager().getdefaultdisplay().getheight();
  }

  /** 获取应用包名 */
  public string getpackagename() {
    return act.getpackagename();
  }

  /**
   * 获取手机mac地址 只有手机开启wifi才能获取到mac地址
   */
  public string getmacaddress() {
    string result = "";
    wifimanager wifimanager = (wifimanager) act.getsystemservice(context.wifi_service);
    wifiinfo wifiinfo = wifimanager.getconnectioninfo();
    result = wifiinfo.getmacaddress();
    return result;
  }

  /**
   * 获取手机cpu信息 //1-cpu型号 //2-cpu频率
   */
  public string[] getcpuinfo() {
    string str1 = "/proc/cpuinfo";
    string str2 = "";
    string[] cpuinfo = { "", "" }; // 1-cpu型号 //2-cpu频率
    string[] arrayofstring;
    try {
      filereader fr = new filereader(str1);
      bufferedreader localbufferedreader = new bufferedreader(fr, 8192);
      str2 = localbufferedreader.readline();
      arrayofstring = str2.split("\\s+");
      for (int i = 2; i < arrayofstring.length; i++) {
        cpuinfo[0] = cpuinfo[0] + arrayofstring[i] + " ";
      }
      str2 = localbufferedreader.readline();
      arrayofstring = str2.split("\\s+");
      cpuinfo[1] += arrayofstring[2];
      localbufferedreader.close();
    } catch (ioexception e) {
    }
    return cpuinfo;
  }

  /** 获取application中的meta-data内容 */
  public string getmetadata(string name) {
    string result = "";
    try {
      applicationinfo appinfo = act.getpackagemanager().getapplicationinfo(getpackagename(),
          packagemanager.get_meta_data);
      result = appinfo.metadata.getstring(name);
    } catch (exception e) {
      e.printstacktrace();
    }
    return result;
  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网