Android(安卓)的manager
android 内部是有很多manager 的。
从code : base/core/java/android/app/applicationcontext.java 中的函数getSystemService 可知:
public Object getSystemService(String name) {
if (WINDOW_SERVICE.equals(name)) {
return WindowManagerImpl.getDefault();
} else if (LAYOUT_INFLATER_SERVICE.equals(name)) {
synchronized (mSync) {
LayoutInflater inflater = mLayoutInflater;
if (inflater != null) {
return inflater;
}
mLayoutInflater = inflater =
PolicyManager.makeNewLayoutInflater(getOuterContext());
return inflater;
}
} else if (ACTIVITY_SERVICE.equals(name)) {
return getActivityManager();
} else if (ALARM_SERVICE.equals(name)) {
return getAlarmManager();
} else if (POWER_SERVICE.equals(name)) {
return getPowerManager();
} else if (CONNECTIVITY_SERVICE.equals(name)) {
return getConnectivityManager();
} else if (WIFI_SERVICE.equals(name)) {
return getWifiManager();
} else if (NOTIFICATION_SERVICE.equals(name)) {
return getNotificationManager();
} else if (KEYGUARD_SERVICE.equals(name)) {
return new KeyguardManager();
} else if (LOCATION_SERVICE.equals(name)) {
return getLocationManager();
} else if (SEARCH_SERVICE.equals(name)) {
return getSearchManager();
} else if ( SENSOR_SERVICE.equals(name)) {
return getSensorManager();
} else if (BLUETOOTH_SERVICE.equals(name)) {
return getBluetoothDevice();
} else if (VIBRATOR_SERVICE.equals(name)) {
return getVibrator();
} else if (STATUS_BAR_SERVICE.equals(name)) {
synchronized (mSync) {
if (mStatusBarManager == null) {
mStatusBarManager = new StatusBarManager(getOuterContext());
}
return mStatusBarManager;
}
} else if (AUDIO_SERVICE.equals(name)) {
return getAudioManager();
} else if (TELEPHONY_SERVICE.equals(name)) {
return getTelephonyManager();
} else if (CLIPBOARD_SERVICE.equals(name)) {
return getClipboardManager();
} else if (INPUT_METHOD_SERVICE.equals(name)) {
return InputMethodManager.getInstance(this);
}
return null;
}
这个函数的实现对应着 : android.content.Context 的 getSystemService函数。 Android 中的manager 有:(可能不仅仅这些)WindowManager
LayoutInflater
ActivityManager
AlarmManager
PowerManager
ConnectivityManager
WifiManager
NotificationManager
KeyguardManager
LocationManager
SearchManager
SensorManager
BluetoothDevice
Vibrator
StatusBarManager
AudioManager
TelephonyManager
ClipboardManager
InputMethodManager
从系统扩展的角度来考虑,当自己的系统有新的manager 加入的是否,可以通过修改该接口来通过context 获取该manager
更多相关文章
- android生命周期_Android活动生命周期– 7个阶段和功能
- Android的NDK开发(1)————Android(安卓)JNI简介与调用流程
- Android电话拨打流程源码分析
- Android电话拨打流程源码分析
- Increase the android VM heap size.
- Android中的Junit单元测试
- Android(安卓)Universal Image Loader 源码分析
- Linux profilers: oprofile vs. ftrace (with guide for use in
- 完美解决android Studio打开报错 https://code.google.com/p/and