- 博客(0)
- 资源 (11)
- 收藏
- 关注
android 五大布局介绍附源码范例
nearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。
2012-12-12
Binder.clearCallingIdentity分析
Binder.clearCallingIdentity()和Binder.restoreCallingIdentity()这两个方法,它的主要作用是暂时获得系统权限。为什么需要系统权限呢?
2012-11-24
android_wifi 从java层到wifi.c
android4.0 wifi子系统解析 。代码流程解析。
1.wifi子系统的初始化
wifi服务初始化和其他的服务差不多,也是通过SystemService来创建的。
<framework/base/services/java/com/android/server/SystemServer.java
Slog.i(TAG, "Connectivity Service");
connectivity = new ConnectivityService(
context, networkManagement, networkStats, networkPolicy);
ServiceManager.addService(Context.CONNECTIVITY_SERVICE, connectivity);
networkStats.bindConnectivityManager(connectivity);
networkPolicy.bindConnectivityManager(connectivity);
wifi.checkAndStartWifi();
wifiP2p.connectivityServiceReady();
通过ServiceManager.addService启动了ConnectivityService,在android系统里面我们常见的属于Connectivity的有
wifi,mobile,bluetooth,wimax,ethernet。
<framework/base/services/java/com/android/server/WifiService.java>
public void checkAndStartWifi() {
mAirplaneModeOn.set(isAirplaneModeOn());
mPersistWifiState.set(getPersistedWifiState());
/* Start if Wi-Fi should be enabled or the saved state indicates Wi-Fi was on */
boolean wifiEnabled = shouldWifiBeEnabled() || testAndClearWifiSavedState();
Slog.i(TAG, "WifiService starting up with Wi-Fi " +
(wifiEnabled ? "enabled" : "disabled"));
setWifiEnabled(wifiEnabled);
mWifiWatchdogStateMachine = WifiWatchdogStateMachine.
makeWifiWatchdogStateMachine(mContext);
}
2012-11-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人