getSystemService

作者: Anwfly | 来源:发表于2019-07-18 00:49 被阅读0次
    • getSystemService是在Context这个类下的方法,进入Api查询界面搜索Context,然后找到 向下查找就找到了getSystemService这个方法

    • 以下是getSystemService的两个方法:
      public final T getSystemService (Class<T> serviceClass)
      public abstract Object getSystemService (String name)

    • 一般我们用的是第二个方法,写法有两种一个是用的Context里定义的字符串常量,当然意思是一样的,由于返回的对象是Object所以要对放回的值进行转型。

    • 举个获取wifi管理器对象的例子:

    例子一:
    WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
    WifiManager wifiManager = (WifiManager)getSystemService("wifi");
    例子二:
    WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
    WindowManager windowManager = (WindowManager) getSystemService("window");
    
    • 常用的服务及对应的常量
    传入的Name 返回的对象 说明
    WINDOW_SERVICE WindowManager 管理打开的窗口程序
    LAYOUT_INFLATER_SERVICE LayoutInflater 取得xml里定义的view
    ACTIVITY_SERVICE ActivityManager 管理应用程序的系统状态
    POWER_SERVICE PowerManger 电源的服务
    ALARM_SERVICE AlarmManager 闹钟的服务
    NOTIFICATION_SERVICE NotificationManager 状态栏的服务
    KEYGUARD_SERVICE KeyguardManager 键盘锁的服务
    LOCATION_SERVICE LocationManager 位置的服务,如GPS
    SEARCH_SERVICE SearchManager 搜索的服务
    VEBRATOR_SERVICE Vebrator 手机震动的服务
    CONNECTIVITY_SERVICE Connectivity 网络连接的服务
    WIFI_SERVICE WifiManager Wi-Fi服务
    TELEPHONY_SERVICE TeleponyManager 电话服务
    • 查询API上归纳了所有可获取的类如下:
    管理器 Context常量值 写死常量值 说明
    WindowManager WINDOW_SERVICE window 窗口管理器
    LayoutInflater LAYOUT_INFLATER_SERVICE layout_inflater 布局
    ActivityManager ACTIVITY_SERVICE activity 活动
    PowerManager POWER_SERVICE power 电源管理
    AlarmManager ALARM_SERVICE alarm 闹钟管理
    NotificationManager NOTIFICATION_SERVICE notification 通知栏管理
    KeyguardManager KEYGUARD_SERVICE keyguard 锁屏和解锁
    LocationManager LOCATION_SERVICE location 位置管理
    SearchManager SEARCH_SERVICE search 搜索
    Vibrator VIBRATOR_SERVICE vibrator 手机震动
    ConnectivityManager CONNECTIVITY_SERVICE connection 连接
    WifiManager WIFI_SERVICE wifi wifi管理
    AudioManager WIFI_P2P_SERVICE wifip2p 音频管理器
    MediaRouter MEDIA_ROUTER_SERVICE "" 视频路由
    TelephonyManager TELEPHONY_SERVICE "" 手机
    InputMethodManager INPUT_METHOD_SERVICE input_method 输入
    UiModeManager UI_MODE_SERVICE uimode UI模式
    DownloadManager DOWNLOAD_SERVICE download 下载
    BatteryManager BATTERY_SERVICE batterymanager 电池管理
    JobScheduler JOB_SCHEDULER_SERVICE taskmanager 日程
    NetworkStatsMana NETWORK_STATS_SERVICE netstats 网络状态
    • 常用及使用方式:
    1. WindowManager:窗口管理
      使用:最多的是用来获取手机屏幕的大小
    WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
    int h = windowManager.getDefaultDisplay().getHeight();
    int w = windowManager.getDefaultDisplay().getWidth();
    
    1. LayoutInflater :用来获取布局文件的view

    2. ActivityManager :获取系统内存信息以及进程信息

    3. PowerManager:电源管理

    4. AlarmManager:主要闹钟

    5. NotificationManager:通知栏

    6. KeyguardManager:屏幕保护

    7. LocationManager:定位服务

    8. SearchManager:利用此服务可以实现对系统中的应用、联系人、SMS等进行搜索

    9. Vibrator:手机震动管理

    10. ConnectivityManager:网络连接,这个用的比较多,每个app需要对网络状态进行判断

    11. WifiManager:对wifi的信息进行获取,判断处理

    12. AudioManager:手机音频文件的管理操作

    13. MediaRouter:好像比较复杂的样子

    14. TelephonyManager:用于管理手机通话状态,获取电话信息(设备信息、sim卡信息以及网络信息),

    15. SubscriptionManager:SubscriptionManager

    16. InputMethodManager:软键盘的输入控制

    17. UiModeManager:设置夜间模式和行车模式

    18. DownloadManager:下载管理

    19. JobScheduler:让系统批处理一些不重要的APP 请求

    20. NetworkStatsManager:Provides access to network usage history and statistics API说明:提供网络使用的历史记录和统计
      这个方法都是query的查询方法,说明都是提供写网络使用的详细和统计的信息

    相关文章

      网友评论

        本文标题:getSystemService

        本文链接:https://www.haomeiwen.com/subject/pewhlctx.html