关于手机系统信息的总结

获取IMEI号:

/**
	 * 获取IMEI号
	 *
	 * @Description:
	 * @param @param activity
	 * @param @return
	 * @return String
	 */
	public static String getIMEI(Activity activity) {
		TelephonyManager manager = (TelephonyManager) activity
				.getSystemService(Context.TELEPHONY_SERVICE);
		return manager.getDeviceId();
	}

获取IMSI:

/**
	 * 获取IMSI
	 *
	 * @Description:
	 * @param @param activity
	 * @param @return
	 * @return String
	 */
	public static String getIMSI(Activity activity) {
		TelephonyManager manager = (TelephonyManager) activity
				.getSystemService(Context.TELEPHONY_SERVICE);
		return manager.getSubscriberId();
	}

手机型号:

/**
	 * 手机型号
	 *
	 * @Description:
	 * @param @return
	 * @return String
	 */
	public static String getPhoneModel() {
		return android.os.Build.MODEL;
	}

系统版本号(数值):

/**
	 * 系统版本号(数值)
	 *
	 * @Description:
	 * @param @return
	 * @return int
	 */
	public static int getPhoneSdkVersionInt() {
		return Build.VERSION.SDK_INT;
	}

系统版本号(字符串)

	/**
	 * 系统版本号(字符串)
	 *
	 * @Description:
	 * @param @return
	 * @return String
	 */
	public static String getPhoneSDKVersionChar() {
		return Build.VERSION.RELEASE;
	}

APP版本号(字符串):

/**
	 * @Description:APP版本号(字符串)
	 * @param @param activity
	 * @param @return
	 * @return String
	 */
	public static String getAppVersionChars(Activity activity) {
		PackageManager packageManager = activity.getPackageManager();
		PackageInfo packageInfo = null;
		try {
			packageInfo = packageManager.getPackageInfo(
					activity.getPackageName(), 0);
		} catch (NameNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		return packageInfo.versionName;
	}

APP版本号(整型):

/**
	 * APP版本号(整型)
	 *
	 * @Description:
	 * @param @param activity
	 * @param @return
	 * @return int
	 */
	public static int getAppVersionInt(Activity activity) {
		PackageManager packageManager = activity.getPackageManager();
		PackageInfo packageInfo = null;
		try {
			packageInfo = packageManager.getPackageInfo(
					activity.getPackageName(), 0);
		} catch (NameNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return packageInfo.versionCode;
	}

获取外网IP(ip168不稳定,可以其它可以获取到IP的网址,原理差不多):

/**
	 * 获取外网IP
	 *
	 * @Description:
	 * @param @return
	 * @return String
	 */
	public static String GetNetIp() {
		URL infoUrl = null;
		InputStream inStream = null;
		String ipLine = "";
		HttpURLConnection httpConnection = null;
		try {
			infoUrl = new URL("http://ip168.com/");
			URLConnection connection = infoUrl.openConnection();
			httpConnection = (HttpURLConnection) connection;
			int responseCode = httpConnection.getResponseCode();
			if (responseCode == HttpURLConnection.HTTP_OK) {
				inStream = httpConnection.getInputStream();
				BufferedReader reader = new BufferedReader(
						new InputStreamReader(inStream, "utf-8"));
				StringBuilder strber = new StringBuilder();
				String line = null;
				while ((line = reader.readLine()) != null)
					strber.append(line + "\n");

				Pattern pattern = Pattern
						.compile("((?:(?:25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d)))\\.){3}(?:25[0-5]|2[0-4]\\d|((1\\d{2})|([1-9]?\\d))))");
				Matcher matcher = pattern.matcher(strber.toString());
				if (matcher.find()) {
					ipLine = matcher.group();
				}
			}

		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (inStream != null) {
					inStream.close();
				}
				if (httpConnection != null) {
					httpConnection.disconnect();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return ipLine;
	}

获取局网IP:

/**
	 * 获取局网IP
	 *
	 * @Description:
	 * @param @return
	 * @return String
	 */
	public static String getLocalIpAddress() {
		try {
			Enumeration<NetworkInterface> en = NetworkInterface
					.getNetworkInterfaces();
			while (en.hasMoreElements()) {
				NetworkInterface ni = en.nextElement();
				Enumeration<InetAddress> enIp = ni.getInetAddresses();
				while (enIp.hasMoreElements()) {
					InetAddress inet = enIp.nextElement();
					if (!inet.isLoopbackAddress()
							&& (inet instanceof Inet4Address)) {
						return inet.getHostAddress().toString();
					}
				}
			}
		} catch (SocketException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		return "0";
	}
时间: 2024-10-20 15:11:09

关于手机系统信息的总结的相关文章

Appium测试环境搭建实践

一.环境准备 1. JDK环境配置 a)下载并安装JDK http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html b)配置环境变量 b.1 新建JAVA_HOME系统环境变量:C:\Program Files\Java\jdk1.8.0_25 b.2 在Path环境变量中加入 %JAVA_HOME%\bin;%JAVA_HOME%\lib; 2. Node安装 a)下载并安装Node https:

查看Andiros系统的Linux版本

最近学习Linux,刚好自己的手机是安卓系统,既然如此,就查看一下 在安卓手机桌面点"设置-关于手机"即可查看手机系统信息 下面是基于Andriod6.0深度定制开发miui 8.0系统 从图片中可以看出:该系统是基于Linux Kernel 3.4.0的,其主线版本为3.4.然后打开https://www.kernel.org/releases.html,可以查阅到 因此,可以得知,miui8.0是基于Andriod6.0深度定制的安卓系统,Andriod6.0是基于Linux Ke

Python中级开发教程

Python中级教程索引: 第一课.数据类型                      第十课.图形界面(下) 第二课.再讲数据类型                  第十一课.剪刀石头布游戏与随机函数 第三课.文本处理与色彩(上)             第十二课.获取手机系统信息(上) 第三课.文本处理与色彩(下)             第十二课.获取手机系统信息(下) 第四课.文件操作                      第十三课.选项卡(折叠界面) 第五课.while循环    

调用app

//校验使用的应用 var browserCheck = { versions : function() { var u = navigator.userAgent; return { weixin : u.indexOf('MicroMessenger') > -1, // 微信 QQ : u.indexOf('MQQBrowser') > -1, // 是否QQ UC : u.indexOf('UCBrowser') > -1, // 是否UC Weibo : u.indexOf('

Appium自动化测试系列2- 写一个Python测试脚本来测试一下YY语音

我们在<Appium自动化测试系列1-Appium环境的安装和配置>里已经搭好了Appium的基本环境,这一章,我们就来真刀真枪使用一下Appium, 看看Appium是如果来实现自动化测试的.在写测试脚本之前,我们先安装几个必要的Python三方库. 1 安装Python的setuptools库 (因为安装Python的Selenium库需要用到它) 1) 下载setuptools文件并解压 https://pypi.python.org/pypi/setuptools/12.0.4#dow

Appium环境的安装与配置,Python测试脚本测试

Appium自动化测试系列1 - Appium环境的安装与配置 发表于4个月前(2015-01-27 14:34)   阅读(803) | 评论(0) 0人收藏此文章, 我要收藏 赞0 寻找 会’偷懒’的开发者线下公开课,报名即享受免费体验云主机 摘要 看了网上很多有关Appium的安装配置贴,都写得语焉不详,不清不楚,正好打算把自动化测试框架从Robotium切换到Appium, 顺手记录一下,给大家参考.转载请注明出处. Appium 安装 配置 测试 之前一直使用Robotium做为And

HTML5+ 手机设备的信息, 屏幕信息, 音量信息, 系统信息的获取 device, screen, display, os

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <title>WebApp启动页</title> <script type

手机卫士07_自定义吐司_桌面小火箭_短信备份_接口和回调_应用程序信息,

1,自定义吐司显示风格 ①创建一个布局文件(代码注册的View看不出效果,所以还是定义布局文件比较好) 这里的背景是.9图片会根据包裹内容来拉伸 ②在显示自定义吐司的界面,显示的吐司通过View.inflate()创建 ③在设置中心增加一条修改归属地显示风格. {"半透明","活力橙","卫士蓝","金属灰","苹果绿"}; 点击之后弹出一个单选对话框. builder.setSingleChoiceIte

诺基亚6300手机如何格机,诺基亚手机反复重启,无法开机怎么办

6788i 怎么把C盘格式化 6788i的C盘内存怎么释放 不管什么手机,如果自动重启,无法进行任何操作,先把存储卡和SIM卡都拔下来并插到另外一个手机上测试是否有问题,如果没有问题,则说明是这个手机的本身的问题了.一般高档的手机都有自己的内存(一般只有几十兆大小左右),问题就出在这几十兆的内存上面,一般是剩余零字节可用,而且无法格式化这个盘,显示隐藏的文件夹也看不到内容,全部选中这个盘的内容只有几百KB,不知道多余的容量被谁占用了. 这里的问题很像有些优盘一样,如果磁盘本身有问题,则会导致容量