SD卡:
public void sdCardUtil() {
String sdCardPath = Environment.getExternalStorageDirectory().getAbsolutePath();
String state = Environment.getExternalStorageState();
boolean avaiable = (state == Environment.MEDIA_MOUNTED);
}
CPU主频获取:
public String getMaxCpuFreq() {
String result = "";
ProcessBuilder cmd;
try {
String[] args = { "/system/bin/cat", "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq" };
cmd = new ProcessBuilder(args);
Process process = cmd.start();
InputStream in = process.getInputStream();
byte[] re = new byte[24];
while (in.read(re) != -1) {
result = result + new String(re);
}
in.close();
} catch (IOException ex) {
ex.printStackTrace();
result = "N/A";
}
return result.trim();
}
TelephonyManager实例的获取需要READ_PHONE_STATE权限。具体函数如下:
getCellLocation() 返回的单元格位置的装置 ACCESS_COARSE_LOCATION或ACCESS_FINE_LOCATION
getDeviceId() 返回的IMEI / MEID的设备。 如果该设备是GSM设备然后IMEI号将被退回,如果该设备是一个CDMA设备然后MEID 将被退回
getLine1Number() 返回设备的电话号码(MSISDN号码)
getNetworkOperatorName() 返回注册的网络运营商的名字
getNetworkOperator() 返回的MCC +跨国公司的注册网络运营商
getNetworkCountryIso() 返回注册的网络运营商的国家代码
getSimCountryIso() 返回SIM卡运营商的国家代码
getSimOperator() 返回SIM卡运营商的代码,其中46000和46002属于中国移动、46001属于联通、46003属于电信
getSimOperatorName() 返回SIM卡运营商的名字
getSimSerialNumber() 返回SIM卡的序列号
getNetworkType() 返回网络设备可用的类型。 这将是下列其中一个值:
TelephonyManager.NETWORK_TYPE_UNKNOWN
TelephonyManager.NETWORK_TYPE_GPRS
TelephonyManager.NETWORK_TYPE_EDGE
TelephonyManager.NETWORK_TYPE_UMTS
getPhoneType() 返回设备的类型。
这将是以下值之一:
TelephonyManager.PHONE_TYPE_NONE
TelephonyManager.PHONE_TYPE_GSM
TelephonyManager.PHONE_TYPE_CDMA
getSubscriberId() 返回用户识别码(的IMSI)的设备
getNeighboringCellInfo() 返回NeighboringCellInfo类代表名单相邻小区的信息,如果可用,否则将返回null ACCESS_COARSE_UPDATES
WifiManager实例的获取需要ACCESS_WIFI_STATE的权限,部分函数如下:
getConnectionInfo().getMacAddress() 返回设备的mac地址
getWifiState() 返回设备的wifi连接状态
下列值之一:
WIFI_STATE_DISABLED, WIFI_STATE_DISABLING, WIFI_STATE_ENABLED(可用状态), WIFI_STATE_ENABLING, WIFI_STATE_UNKNOWN
监听Wifi状态变化可以使用以下两种方式
1.XML中声明
<receiver android:name=".NetworkConnectChangedReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
<action android:name="android.net.wifi.STATE_CHANGE" />
</intent-filter>
</receiver>
2.代码中注册
IntentFilter filter = new IntentFilter();
filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(new NetworkConnectChangedReceiver(), filter);
屏幕尺寸获取:
public void getScreenInfo() {
DisplayMetrics metrics = new DisplayMetrics();
mActivity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
StringBuilder builder = new StringBuilder();
builder.append("密度=").append(metrics.density);
builder.append("\n宽度=").append(metrics.widthPixels);
builder.append("\n高度=").append(metrics.heightPixels);
}