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

更多相关文章

  1. android生命周期_Android活动生命周期– 7个阶段和功能
  2. Android的NDK开发(1)————Android(安卓)JNI简介与调用流程
  3. Android电话拨打流程源码分析
  4. Android电话拨打流程源码分析
  5. Increase the android VM heap size.
  6. Android中的Junit单元测试
  7. Android(安卓)Universal Image Loader 源码分析
  8. Linux profilers: oprofile vs. ftrace (with guide for use in
  9. 完美解决android Studio打开报错 https://code.google.com/p/and

随机推荐

  1. android INSTALL_FAILED_INSUFFICIENT_ST
  2. Android实现简单断点续传和下载到本地功
  3. Android(安卓)json通信(解析)方法
  4. android studio 编译调试 错误
  5. android布局页面中引入另一个布局页面
  6. Catalina编译android 10报错
  7. 高德地图-地图中心固定Marker,Marker跳跃
  8. Android(安卓)Socket通信--UdpClient
  9. android j使用JNI实现ava语言调用C语言
  10. 我的Android学习笔记2(学Android怎能不懂j