您的位置:首页 > 移动开发 > Android开发

android 获取手机参数整理

2016-06-17 16:09 861 查看
目前我了解用到的内容有:TelephonyManager类、Build类、Secure类1:创建一个activity在展示:显示效果图:xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".GetPhoneInfoActivity">

<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="imei:" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/et_imei"
android:text="可以获取imei" />
</LinearLayout>

<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="imsi:" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/et_imsi"
android:text="可以获取imsi" />
</LinearLayout>

<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="手机型号:" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/et_MODEL"
android:text="手机型号" />
</LinearLayout>

<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="手机号码:" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/et_phoneNumber"
android:text="手机号码" />
</LinearLayout>

<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MAC地址:" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/et_Mac"
android:text="MAC地址" />
</LinearLayout>

<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="手机宽高:" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/et_width_height"
android:text="宽高" />
</LinearLayout>

<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ICCID:" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/et_ICCID"
android:text="ICCID" />
</LinearLayout>

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/scrollView" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="手机全部信息"
android:id="@+id/tv_PhoneInfo" />
</ScrollView>
</LinearLayout>
java类
package com.palmv.getphoneinfo;import android.content.Context;import android.net.wifi.WifiInfo;import android.net.wifi.WifiManager;import android.os.Build;import android.os.Bundle;import android.provider.Settings;import android.support.v7.app.AppCompatActivity;import android.telephony.TelephonyManager;import android.util.DisplayMetrics;import android.widget.EditText;import android.widget.TextView;import java.util.Locale;public class GetPhoneInfoActivity extends AppCompatActivity {private EditText et_imei,et_imsi,et_MODEL,et_phoneNumber,et_Mac;private EditText et_width_height,et_ICCID;private String TAG="get手机信息";private TextView tv_PhoneInfo;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_get_phone_info);initView();getInfo();}private void initView() {et_imei= (EditText) findViewById(R.id.et_imei);et_imsi= (EditText) findViewById(R.id.et_imsi);et_MODEL = (EditText) findViewById(R.id.et_MODEL);et_phoneNumber = (EditText) findViewById(R.id.et_phoneNumber);et_Mac= (EditText) findViewById(R.id.et_Mac);et_width_height = (EditText) findViewById(R.id.et_width_height);et_ICCID = (EditText) findViewById(R.id.et_ICCID);tv_PhoneInfo = (TextView) findViewById(R.id.tv_PhoneInfo);}private void getInfo() {TelephonyManager mTm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);et_imei.setText(mTm.getDeviceId());et_imsi.setText(mTm.getSubscriberId());et_ICCID.setText(mTm.getSimSerialNumber()); //imsi,sim串号et_MODEL.setText(android.os.Build.MODEL);  // 手机型号et_phoneNumber.setText(mTm.getLine1Number()); // 手机号码,有的可得,有的不可得et_Mac.setText(getMacAddress()); // 获取MAC地址有问题et_width_height.setText(getWeithAndHeight());tv_PhoneInfo.setText(phoneInfo());System.out.println(phoneInfo());}/*** 获取手机屏幕高度--像素*/private String getWeithAndHeight(){//这种方式在service中无法使用,DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);String width_height = "宽"+dm.widthPixels+"高"+ dm.heightPixels;//        //在service中也能得到高和宽//        WindowManager mWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);//        width = mWindowManager.getDefaultDisplay().getWidth();//        height = mWindowManager.getDefaultDisplay().getHeight();return width_height;}/*** 获取手机屏幕密度 0.75/1.0/1.5*/private float getDensity(){DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);return  dm.density;}/*** 获取手机屏幕密度 0.75/1.0/1.5*/private int  getDensityDpi(){DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);return  dm.densityDpi;}/*** 获取手机MAC地址* @return*/private String getMacAddress(){//在wifi未开启状态下,仍然可以获取MAC地址,但是IP地址必须在已连接状态下否则为0String s_macAddress = "";WifiManager wifiMgr = (WifiManager)getSystemService(Context.WIFI_SERVICE);WifiInfo info = (null == wifiMgr ? null : wifiMgr.getConnectionInfo());if (null != info) {s_macAddress = info.getMacAddress();}return s_macAddress;}private int getWifiState(Context context){WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);if(wifiManager != null){int wifiState = wifiManager.getWifiState();return wifiState;}return wifiManager.WIFI_STATE_UNKNOWN;}/*** 察看WIFI的IP地址的方法* @return*/private String getlocalip(){WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);WifiInfo wifiInfo = wifiManager.getConnectionInfo();int ipAddress = wifiInfo.getIpAddress();if(ipAddress==0)return null;return ((ipAddress & 0xff)+"."+(ipAddress>>8 & 0xff)+"."+(ipAddress>>16 & 0xff)+"."+(ipAddress>>24 & 0xff));}public String phoneInfo() {final TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);String android_id = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);StringBuilder sb = new StringBuilder();sb.append("========TelephonyManager类============"+"\n");sb.append("imei== " + tm.getDeviceId() + "\n");sb.append("手机号码= " + tm.getLine1Number() + "\n");sb.append("网络国家iso= " + tm.getNetworkCountryIso() + "\n");sb.append("网络运营商=" + tm.getNetworkOperator() + "\n");sb.append("运营商名称=" + tm.getNetworkOperatorName() + "\n");sb.append("网络类型=" + tm.getNetworkType() + "\n");sb.append("手机类型=" + tm.getPhoneType() + "\n");sb.append("imsi=" + tm.getSubscriberId() + "\n");sb.append("数据状态=" + tm.getDataState() + "\n");sb.append("sim卡国家iso=" + tm.getSimCountryIso() + "\n");sb.append("sim卡运营商=" + tm.getSimOperator() + "\n");sb.append("sim卡运营商名称=" + tm.getSimOperatorName() + "\n");sb.append("sim卡状态=" + tm.getSimState() + "\n");sb.append("ICCID sim串号=" + tm.getSimSerialNumber() + "\n");sb.append("========Build类============"+"\n");sb.append("Build.BOARD:处理器 " + Build.BOARD+ "\n");sb.append("Build.MODEL:手机设备版本"+ Build.MODEL +"\n");sb.append("Build.MANUFACTURER: " + Build.MANUFACTURER+ "\n");sb.append("Build.PRODUCT:设备正式名称 " + Build.PRODUCT+ "\n");sb.append("Build.USER:用户名" + Build.USER+ "\n");sb.append("Build.ID: " + Build.ID+ "\n");sb.append("Build.DEVICE:硬件设备 " + Build.DEVICE+ "\n");sb.append("Build.DEVICE:手机平台版本 " + Build.DISPLAY+ "\n");sb.append("Build.SERIAL: " + Build.SERIAL+ "\n");sb.append("Build.BRAND:设备品牌 " + Build.BRAND+ "\n");sb.append("cpu版本 " + Build.CPU_ABI+ "\n");sb.append("cpu版本2 " + Build.CPU_ABI2+ "\n");sb.append("手机android SDK版本号: " + Build.VERSION.SDK_INT + "\n");sb.append("手机android版本号RELEASE: " + Build.VERSION.RELEASE + "\n");sb.append("========Secure类============"+"\n");sb.append("Secure.ANDROID_ID: " + android_id + "\n");sb.append("========Locale类============"+"\n");sb.append("手机语言: " + Locale.getDefault().getLanguage() + "\n");sb.append("========自定义函数============"+"\n");sb.append("MAC地址: " + getMacAddress() + "\n");sb.append("wifi IP地址: " + getlocalip() + "\n");sb.append("wifi 状态: " + getWifiState(this) + "\n");sb.append("手机的宽高: " + getWeithAndHeight() + "\n");sb.append("屏幕密度: " + getDensity() + "\n");sb.append("屏幕密度Dpi: " + getDensityDpi() + "\n");return sb.toString();}}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: