`

获取手机的相关参数

阅读更多
package com.propviewer;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import android.app.Activity;
import android.app.ActivityManager;
import android.content.Context;
import android.os.Bundle;
import android.os.Environment;
import android.telephony.TelephonyManager;
import android.util.DisplayMetrics;
import android.util.Log;
import android.widget.TextView;

public class MainActivity extends Activity {
	private StringBuffer info = new StringBuffer();

	FileOutputStream fos = null;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		TextView tv = (TextView) findViewById(R.id.text);

		String ss = Environment.getExternalStorageDirectory().toString();

		File f = new File(ss + "/phonemsg.txt");
		if (!f.exists()) {
			try {
				f.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		

		// android.os.Build
		info.append("android.os.Build.MODEL:" + android.os.Build.MODEL + "\n");
		info.append("android.os.Build.VERSION.SDK:"
				+ android.os.Build.VERSION.SDK + "\n");
		info.append("android.os.Build.VERSION.RELEASE:"
				+ android.os.Build.VERSION.RELEASE + "\n");
		info.append("android.os.Build.BRAND:" + android.os.Build.BRAND + "\n");
		info
				.append("android.os.Build.DEVICE:" + android.os.Build.DEVICE
						+ "\n");

		// Log.v("test","android.os.Build.MODEL:"
		// + android.os.Build.MODEL + "\n");

		try {
			fos = new FileOutputStream(f);
			try {
				
				fos
						.write(("android.os.Build.MODEL:"
								+ android.os.Build.MODEL + "\n").getBytes());
				fos.write(("android.os.Build.VERSION.SDK:"
						+ android.os.Build.VERSION.SDK + "\n").getBytes());
				fos.write(("android.os.Build.VERSION.RELEASE:"
						+ android.os.Build.VERSION.RELEASE + "\n").getBytes());
				fos
						.write(("android.os.Build.BRAND:"
								+ android.os.Build.BRAND + "\n").getBytes());
				fos
						.write(("android.os.Build.DEVICE:"
								+ android.os.Build.DEVICE + "\n").getBytes());
				
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}

		// Screen Metric INFO
		ShowScreenMetricInfo();

		// TELEPHONE
		info.append("\nTELEPHONE INFO\n");
		TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
		info.append("DEVICE ID(MEID/IMEI):" + tm.getDeviceId() + "\n");
		info.append("Subscriber ID:").append(tm.getSubscriberId()).append("\n");
		info.append("DEVICE Software Version:" + tm.getDeviceSoftwareVersion()
				+ "\n");
		info.append("Line1 Number:" + tm.getLine1Number() + "\n");
		info.append("Network Country ISO:" + tm.getNetworkCountryIso() + "\n");
		info.append("Network Operator:" + tm.getNetworkOperator() + "\n");
		info.append("Network Operator Name:" + tm.getNetworkOperatorName()
				+ "\n");
		//
		info.append("Network Type:");
		info.append(getNetworkTypeStr(tm.getNetworkType()));
		info.append("\n");
		//
		info.append("Phone Type:");
		info.append(getPhoneTypeStr(tm.getPhoneType()));
		info.append("\n");

		// System.getProperty
		info.append("\nSystem.getProperty\n");
		
		for (int i = 0; i < SYS_PROP.length; ++i) {
			String pn = SYS_PROP[i];
			info.append(pn + ":" + System.getProperty(pn) + "\n");
		}
		info.append("\nMEMORY USAGE" + "\n");
		
		try {
			fos.write(("\nTELEPHONE INFO\n").getBytes());
			fos.write(("DEVICE ID(MEID/IMEI):" + tm.getDeviceId() + "\n")
					.getBytes());
			fos
			.write((("Subscriber ID:") + (tm.getSubscriberId()) + ("\n"))
					.getBytes());
			fos.write((("DEVICE Software Version:"
					+ tm.getDeviceSoftwareVersion() + "\n")).getBytes());
			fos.write(("Line1 Number:" + tm.getLine1Number() + "\n")
					.getBytes());
			fos
			.write((("Network Country ISO:"
					+ tm.getNetworkCountryIso() + "\n").getBytes()));
			

			fos
			.write((("Network Operator:" + tm.getNetworkOperator() + "\n"))
					.getBytes());
			

			
			fos
			.write((("Network Type:")
					+ getPhoneTypeStr(tm.getPhoneType()) + "\n")
					.getBytes());
			fos
			.write((("Phone Type:")
					+ getPhoneTypeStr(tm.getPhoneType()) + "\n")
					.getBytes());
			fos.write("\nSystem.getProperty\n".getBytes());
			for (int i = 0; i < SYS_PROP.length; ++i) {
				String pn = SYS_PROP[i];
				fos.write((pn + ":" + System.getProperty(pn) + "\n")
						.getBytes());
			}
			fos.write(("\nMEMORY USAGE" + "\n").getBytes());
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
//		TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);



		// Memory Usage
	
		ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
		ActivityManager.MemoryInfo mf = new ActivityManager.MemoryInfo();
		am.getMemoryInfo(mf);
		info.append("剩余内存: ").append(mf.availMem >> 10).append("K\n");
		;
		info.append("剩余内存: ").append(mf.availMem >> 20).append("M\n");
		;
		info.append("是否处于低内存状态:").append(mf.lowMemory);

		info.append("" + "\n");
		info.append("" + "\n");

		try {
			fos.write((("剩余内存: ") + (mf.availMem >> 10) + ("K\n")).getBytes());
			fos.write((("剩余内存: ") + (mf.availMem >> 20) + ("M\n")).getBytes());
			fos.write((("是否处于低内存状态:") + (mf.lowMemory)).getBytes());
			fos.write(("" + "\n").getBytes());
			fos.write(("" + "\n").getBytes());
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		tv.setText(info.toString());
	}

	public void ShowScreenMetricInfo() {
		// Screen Metric INFO
		DisplayMetrics dm = this.getApplicationContext().getResources()
				.getDisplayMetrics();
		info.append("\nScreen Metric INFO" + "\n");
		info.append("The absolute width of the display in pixels: ").append(
				dm.widthPixels).append("\n");
		info.append("The absolute height of the display in pixels: ").append(
				dm.heightPixels).append("\n");
		info.append("The logical density of the display.: ").append(dm.xdpi)
				.append("\n");
		info
				.append(
						"The exact physical pixels per inch of the screen in the Y dimension:")
				.append(dm.ydpi).append("\n");
		info.append("The screen density expressed as dots-per-inch:").append(
				dm.density).append("\n");
		info
				.append(
						"The exact physical pixels per inch of the screen in the X dimension:")
				.append(dm.densityDpi).append("\n");
		info.append("A scaling factor for fonts displayed on the display:")
				.append(dm.scaledDensity).append("\n");

		try {
			fos.write(("\nScreen Metric INFO" + "\n").getBytes());
			fos.write((("The absolute width of the display in pixels: ")
					+ dm.widthPixels + "\n").getBytes());
			fos.write((("The absolute height of the display in pixels: ")
					+ dm.heightPixels + "\n").getBytes());
			fos
					.write((("The logical density of the display.: ") + dm.xdpi + "\n")
							.getBytes());
			fos
					.write((("The exact physical pixels per inch of the screen in the Y dimension:")
							+ dm.ydpi + "\n").getBytes());
			fos.write((("The screen density expressed as dots-per-inch:")
					+ dm.density + "\n").getBytes());
			fos
					.write((("The exact physical pixels per inch of the screen in the X dimension:")
							+ dm.densityDpi + "\n").getBytes());
			fos.write((("A scaling factor for fonts displayed on the display:")
					+ dm.scaledDensity + "\n").getBytes());
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

	public static String getPhoneTypeStr(int type) {
		switch (type) {
		case TelephonyManager.PHONE_TYPE_NONE:
			return "PHONE_TYPE_NONE";
		case TelephonyManager.PHONE_TYPE_GSM:
			return "PHONE_TYPE_GSM";
		case TelephonyManager.PHONE_TYPE_CDMA:
			return "PHONE_TYPE_CDMA";
		default:
			return "unknow phone type:[" + type + "]";
		}
	}

	public static String getNetworkTypeStr(int type) {
		switch (type) {
		case TelephonyManager.NETWORK_TYPE_UNKNOWN:
			return "NETWORK_TYPE_UNKNOWN";
		case TelephonyManager.NETWORK_TYPE_GPRS:
			return "NETWORK_TYPE_GPRS";
		case TelephonyManager.NETWORK_TYPE_EDGE:
			return "NETWORK_TYPE_EDGE";
		case TelephonyManager.NETWORK_TYPE_UMTS:
			return "NETWORK_TYPE_UMTS";
		case TelephonyManager.NETWORK_TYPE_HSDPA:
			return "NETWORK_TYPE_HSDPA";
		case TelephonyManager.NETWORK_TYPE_HSUPA:
			return "NETWORK_TYPE_HSUPA";
		case TelephonyManager.NETWORK_TYPE_HSPA:
			return "NETWORK_TYPE_HSPA";
		case TelephonyManager.NETWORK_TYPE_CDMA:
			return "NETWORK_TYPE_CDMA";
		case TelephonyManager.NETWORK_TYPE_EVDO_0:
			return "NETWORK_TYPE_EVDO_0";
		case TelephonyManager.NETWORK_TYPE_EVDO_A:
			return "NETWORK_TYPE_EVDO_A";
		case TelephonyManager.NETWORK_TYPE_1xRTT:
			return "NETWORK_TYPE_1xRTT";
		default:
			return "unknow network type:[" + type + "]";
		}
	}

	public static final String[] SYS_PROP = { "os.name", "os.version",
			"os.arch", "user.name", "user.home", "user.dir", "user.timezone",
			"java.home", "java.version", "java.class.version", "java.vendor",
			"java.vendor.url", "java.class.path", "path.separator",
			"line.separator", "file.separator", };
}// END OF CLASS MainActivity


 

获取手机的参数,展示,并保存到sdcard中的代码。

 

 

分享到:
评论

相关推荐

    获取android手机各种参数

    总之,了解并掌握获取Android手机参数的方法对于开发者来说至关重要,这不仅能够帮助我们更好地定制用户体验,还能确保应用在各种设备上表现一致。通过结合`TelephonyManager`和`DisplayMetrics`类提供的接口,我们...

    android 手机信息、服务器响应参数获取

    获取服务器响应时间、建立连接时间、传送数据时间、下载内容大小等参数 获取本地IP、网关IP ...获取手机信号强度 获取手机接入互联网方式 wifi/2g/3g/4g 1、不需root 2、网络相关信息 保存在 /sdcard/testinfos.txt

    友盟一键获取手机号PHP后端demo

    4. **调用友盟API**:使用PHP的HTTP客户端库(如cURL),构造请求,携带AppKey、token等参数,向友盟服务器发起获取手机号的请求。友盟的API通常遵循RESTful设计原则,请求可能需要使用POST方法,并且设置合适的请求...

    Android获取手机短信

    在Android平台上,获取手机短信是一项常见的功能,尤其在开发与短信相关的应用时,如验证码接收、备份或管理短信等。Android系统提供了丰富的API接口供开发者使用,使得我们能够方便地读取、操作甚至监听短信的变化...

    微信小程序前端解密获取手机号

    4. 用户隐私保护:在获取手机号后,应遵循相关法律法规,尊重并保护用户隐私,不得滥用或泄露用户信息。 总结,微信小程序的前端解密获取手机号是通过用户授权、后端解密、前端解密三步完成的。这个过程需要遵循...

    获取手机ip

    获取手机IP地址是网络通信和定位技术的基础之一,它对于移动设备用户来说具有重要的实际应用价值。在本文中,我们将深入探讨如何在Android应用中实现这一功能,并结合特定的示例——文件名"WeatherActivity",来展示...

    用Java解析手机号获取手机信息(归属地、Sim卡类型、移动或是联通、区号、邮编)

    在Java编程领域,有时我们需要获取手机号的相关信息,如归属地、SIM卡类型、运营商(移动或联通)、区号和邮编等。这通常涉及到手机号码的解析和查询工作。在这个场景下,我们可以利用公开的API或者数据库来实现这些...

    微信小程序获取手机号码解密算法PHP版本

    以上就是关于微信小程序获取手机号码解密算法PHP版本的基本知识,这个过程涉及到微信小程序的授权机制、数据加密解密原理以及PHP的加密函数使用。理解并掌握这个过程对于开发微信小程序的服务器端功能至关重要。

    服务端(C#)获取小程序(微信、字节跳动)手机号

    4. **明确提示用户**:在用户界面中明确提示“授权手机号快捷登录”或“手机号码一键登录”,避免在用户进入小程序之初就弹出获取手机号的对话框。 #### 技术细节 ##### 获取 `session_key` 首先,我们需要从前端...

    Android获取手机号码归属地

    在Android平台上,获取手机号码归属地是一项常见的需求,特别是在开发涉及通信或用户验证的应用时。本文将详细讲解如何实现这一功能。 首先,我们要明白手机号码的归属地信息通常包括运营商(如中国移动、中国联通...

    Android 获取手机摄像头视频数据

    在Android平台上,获取手机摄像头的视频数据是一项常见的任务,它涉及到多媒体处理、设备硬件交互以及用户界面设计。本文将深入探讨如何实现一个类似打开相机应用的效果,让开发者能够捕获和处理摄像头的视频流。 ...

    呼叫系统获取手机归属地

    在IT行业中,呼叫系统获取手机归属地是一项常见的功能,它主要应用于外呼系统,以便于企业或服务提供商在与客户沟通时了解对方的基本信息。这项技术涉及到多个领域的知识,包括但不限于电话通信、数据库管理、API...

    php获取手机号码归属地,php号段归属地区类

    在PHP开发中,有时我们需要获取手机号码的归属地信息,例如用于用户注册验证或数据分析。本文将详细讲解如何使用PHP实现这一功能,主要基于提供的"mobilecity.class.php"类库和"data/Mobile.txt"数据文件。 首先,...

    基于安卓5G信号参数获取上报的APP设计与实现.pdf

    该安卓软件以手机端为基础,通过5G移动传输网络和内部传输网络为传输途径,实现了5G信号中的重要参数RSRP、SINR等的获取,并将这些重要参数以JSON格式文件发送至计算机服务器端,用于信号参数分析;同时,还实现了...

    Android获取手机传感器

    在Android平台上,获取手机传感器是一项常见的任务,它涉及到设备的各种硬件功能,如加速度计、陀螺仪、磁力计等。这些传感器为开发者提供了丰富的数据,可用于实现各种创新功能,比如运动检测、方向判断、游戏控制...

    Python爬取京东手机商品参数

    在爬取京东手机参数时,我们首先要做的就是向京东的商品页面发送GET请求,获取HTML页面内容。这可以通过requests.get()函数实现,同时可能需要设置headers以模拟浏览器行为,避免被网站识别为机器人。 接下来,我们...

    完美获取手机Luancher布局工具(仅限4.4)

    "完美获取手机Launcher布局工具(仅限4.4)"是一个专门针对Android 4.4(KitKat)版本设计的工具,旨在帮助用户或开发者详细地获取和分析手机桌面的布局信息,包括图标的位置、大小、排列顺序,以及小部件的各种属性...

    百度地图获取手机当前的位置

    本文将详细介绍如何利用百度地图API获取手机当前的位置,并在地图上进行展示。 首先,我们需要在百度地图开放平台(http://lbsyun.baidu.com/)注册一个账号,创建一个新的应用并获取API密钥(Key)。这个Key是连接...

    Sniffer 手机参数测试工具

    Sniffer手机参数测试工具是一款专为手机用户设计的应用程序,用于获取并检查设备的各种硬件和软件参数。这个工具能够提供详尽的手机信息,帮助用户了解他们的设备在运行时的具体状态。以下是关于Sniffer的一些主要...

Global site tag (gtag.js) - Google Analytics