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();}}
相关文章推荐
- Android-Fragment详解【占坑中】
- Mac 配置Android 终端环境变量
- Android-Bitmap详解【占坑中】
- Android-线程与后台服务【占坑中】
- Android-Handler机制【占坑中】
- Android-Drawable详解【占坑中】
- Android-View的绘制流程【占坑中】
- android 获取手机设备相关信息
- setBackgrounResource内部做了神马?!
- Android SurfaceView 黑屏问题
- 开始第一个Android应用程序
- Android应用程序框架——智能指针(二)
- nineoldandroid 详细使用并且实现drawerlayout侧滑动画
- 利用android-Ultra-Pull-To-Refresh做的下拉刷新,支持viewpager等view完美嵌套
- Android Studio 中快速提取方法
- Android-IPC机制【占坑中】
- android listview系列之item的点击事件及item布局中的点击事件(四)
- Android-屏幕适配方案【占坑中】
- android双击图片放大,放大拖动的简单功能
- android 障蔽Home键, 屏蔽BACK键,MENU键