获取手机的相关参数

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中的代码。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值