Android的参数大致分成两块:系统服务参数和平台系统信息。
系统服务参数:Android的系统服务不仅指服务组件,而且还包括 Android 系统提供的服务功能。Android为这些系统服务参数提供了接口---管理器,不同的组件会有不同的管理器进行管理,主要有Wi-Fi管理,连接管理, 电话管理,电源管理,振动管理,音量管理,输入法管理,窗口管理等等,我们通过这些系统服务接口就可以方便地获取系统信息。我在此处把一些可能和华为项目 相关的管理器拿出来仔细研究研究。
Wi-Fi管理(重点):
WifiManager wifi_service = (WifiManager)getSystemService(WIFI_SERVICE);
//获取Wi-Fi配置接口的属性
List wifiConfig = wifi_service.getConfiguredNetworks();
wifiConfig中包含四个属性:
BSSID:BSS是一种特殊的Ad-hoc LAN(一种支持点对点访问的无线网络应用模
式)的应用,一个无线网络至少由一个连接到有线网络的AP和若干无线
工作站组成,这种配置称为一个基本服务装置。一群计算机设定相同的
BSS名称,即可自成一个group,而此BSS名称,即所谓BSSID。通常,手
机WLAN中,bssid其实就是无线路由的MAC地址。
networkid:网络ID。
PreSharedKey:无线网络的安全认证模式。
SSID:SSID(Service Set Identif)用于标识无线局域网,SSID不同的无线网
络是无法进行互访的。

//获取Wi-Fi的连接信息
WifiInfo wifiinfo = wifi_service.getConnectionInfo();
wifiinfo.getBSSID():获取BSSIS(上面已说明)。
wifiinfo.getSSID():获取SSID(上面已说明)。
wifiinfo.getIpAddress():获取IP地址。
wifiinfo.getMacAddress():获取MAC地址。
wifiinfo.getNetworkId():获取网络ID。
wifiinfo.getLinkSpeed():获取连接速度,可以让用户获知这一信息。
wifiinfo.getRssi():获取RSSI,RSSI就是接受信号强度指示。在这可以直
接和华为提供的Wi-Fi信号阈值进行比较来提供给用户,让用户对网络
或地理位置做出调整来获得最好的连接效果。

//获取DHCP信息
DhcpInfo dhcpinfo = wifi_service.getDhcpInfo();
ipAddress:获取IP地址。
gateway:获取网关。
netmask:获取子网掩码。
dns1:获取DNS。
dns2:获取备用DNS。
serverAddress:获取服务器地址。

//获取扫描信息
List scanResult = wifi_service.getScanResults();
BSSID:获取BSSID(上面已说明)。
SSID:获取网络名(上面已说明)。
level:获取信号等级。
frequency:获取频率。
capabilites:对该访问点安全方面的描述。

//获取Wi-Fi的网络状态
int wifiState = wifi_service.getWifiState();
WIFI_STATE_DISABLING:常量0,表示停用中。
WIFI_STATE_DISABLED:常量1,表示不可用。
WIFI_STATE_ENABLING:常量2,表示启动中。
WIFI_STATE_ENABLED:常量3,表示准备就绪。
WIFI_STATE_UNKNOWN:常量4,表示未知状态。
说明:进行网络连接的时候,这些状态都会被显示在Notification上,直
接可以通过此处获取各个状态来完成华为的Notification中Wi- Fi
状态显示的需求。


连接管理:
ConnectivityManager connectionManager = (ConnectivityManager)
getSystemService(CONNECTIVITY_SERVICE);
//获取网络的状态信息,有下面三种方式
NetworkInfo networkInfo = connectionManager.getActiveNetworkInfo();
NetworkInfo wifiInfo =
connectionManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo mobileInfo =
connectionManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
getDetailedState():获取详细状态。
getExtraInfo():获取附加信息。
getReason():获取连接失败的原因。
getType():获取网络类型(一般为移动或Wi-Fi)。
getTypeName():获取网络类型名称(一般取值“WIFI”或“MOBILE”)。
isAvailable():判断该网络是否可用。
isConnected():判断是否已经连接。
isConnectedOrConnecting():判断是否已经连接或正在连接。
isFailover():判断是否连接失败。
isRoaming():判断是否漫游。

//网络状态侦听器的使用
在程序中写一个Service类继承BroadcasrReceiver:
public class NetMonitor extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
}
}
在androidManifest.xml中申明该Rervice:
<service android:name="NetMonitor" android:lable="NetMonitor">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</service>
当网络状态发生改变的时候,就可以通过该Rervice监听到该变化,并作出相应
的动作。

电源管理:
PowerManager power = (PowerManager) getSystemService(POWER_SERVICE);
PARTIAL_WAKE_LOCK:屏幕关闭,键盘关闭。
SCREEN_DIM_WAKE_LOCK:屏幕边暗,键盘关闭。
SCREEN_BRIGHT_WAKE_LOCK:屏幕点亮,键盘关闭。
FULL_WAKE_LOCK:屏幕点亮,键盘点亮。
ACQUIRE_CAUSES_WAKEUP:当通过唤醒锁唤醒设备时,强制屏幕或键盘马上点
亮(例如:作为重要信息的通知)。
ON_AFTER_RELEASE:当唤醒锁释放时用户的Activity组件会被重置,这会造
成屏幕持续显示较长的事件。

//通过唤醒锁的“acquire”方法按照指定的等级来唤醒设备,当不需要唤醒锁时
可以通过“release”方法来释放。
PowerManager.WakeLock locker = powerManager.NewWakeLock(PowerManager.
ACQUIRE_CAUSES_WAKEUP|powerManager.SCREEN_BRIGHT_WAKE_LOCK,
"PowerServiceDemo");
locker.acquire();
locker.release();

振动管理:
Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
通过振动器的“vibrate”方法就可以设置震动持续的时间并启动震动,通过震动
器的“cancel”方法取消震动,或者当用户的程序退出时,所有用户启动的震动都将停
止。


平台系统信息:Android平台对系统中的进程管理,文件系统,环境变量,系统时间,平台信息和电池管理等核心部分的访问进行深层次的封装,从而让开发者能够获得更多的核心系统信息。


android.os.Process
//获取当前进程的方法
android.os.Process.getElapsedCpuTime():获取消耗的时间。
android.os.Process.myPid():获取该进程的ID。
android.os.Process.myTid():获取调用进程的ID。
android.os.Process.myUid():获取该进程的用户ID。
android.os.Process.supportsProcesses:判断该进程是否支持多进程。

// 获取/设置线程优先级
getThreadPriority(int tid):获取指定ID的线程的优先级。
setThreadPriority(int priority):设置当前线程的优先级。
setThreadPriority(int tid,int priority):设置指定ID的线程的优先级。

//管理进程
killProcess(int pid):杀死指定的进程。
sendSignal(int pid,int singal):向指定的进程发送信号。

android.os.Environment
//获取系统环境变量
getDataDirectory():获取当前系统中数据文件夹环境变量。
getDownloadCacheDirectory():获取当前系统中下载缓存文件环境变量。
getExternalStorageDirectory():获取当前系统中外部存储文件环境变量。
getRootDirectory():获取当前系统中根文件环境变量。

更多相关文章

  1. adb通过TCP/IP来调试Android设备
  2. adb通过TCP/IP来调试Android设备
  3. android 获取 imei号码
  4. Android通过HttpURLConnection上传多个文件至服务器 - 流传输
  5. Android之TelephonyManager类的使用案例
  6. Android获取activity的所有子view(使用到递归)
  7. 修复android获取ip地址失败 Fix Obtaining IP Address Android(
  8. 获取当前APN,更改APN
  9. android 获取 imei号码

随机推荐

  1. android直接读取数据库文件
  2. Android各种屏幕尺寸
  3. Android 相机或者相册上传头像
  4. Android System Bring Up
  5. Android使用wifi Ap核心类
  6. 【Android】loadData与loadDataWithBaseU
  7. Android 控件之八:AutoCompleteTextView自
  8. Building Android notifications 2.3 thr
  9. Android 目录选择器实现
  10. Android 百度地图定位指针(系列2)