Android中的getSystemservice,很全
2017-10-10 18:00
441 查看
记录下这个getSystemService 的使用感觉这个API的用处挺大,很多东西都要用到它。
对于API的查询还不是特别会用,顺便借这个机会学习一下
getSystemService是在Context这个类下的方法,进入Api查询界面搜索Context,然后找到 向下查找就找到了getSystemService这个方法
以下是getSystemService的两个方法:
Added in API level 23
Return the handle to a system-level service by class.
Added in API level 1
Return the handle to a system-level service by 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");
查询API上归纳了所有可获取的类如下:
Currently available classes are:
:窗口管理器
手机震动
这个比较特殊You do not instantiate this class directly; instead, you retrieve a reference to an instance through
应该这么写吧:SubscriptionManager ubscriptionManager = SubscriptionManager.from(this);
挺多的好多基本不认识,所以学会查看API是最基本的东西,这样才能方便学习。
这个个写个总结好像有点没完没了了。
贴上网上大神的总结吧
WindowManager
窗口管理
这个大家应用最多的应该都是用来获取手机屏幕的大小吧
WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
int h = windowManager.getDefaultDisplay().getHeight();
int h = windowManager.getDefaultDisplay().getWidth();
LayoutInflater
用来获取布局文件的view
看介绍这个好像用到的概率比较小
http://www.cnblogs.com/top5/archive/2012/05/04/2482328.html
ActivityManager
获取系统内存信息以及进程信息
http://www.2cto.com/kf/201111/111395.html
PowerManager
电源管理
http://blog.csdn.net/xieqibao/article/details/6562256
AlarmManager
主要闹钟吧
http://blog.csdn.net/wangxingwu_314/article/details/8060312
NotificationManager
这个通知栏的应该会用的比较多,基本的app都要用到吧
http://www.cnblogs.com/stay/articles/1898963.html
KeyguardManager
屏幕保护
http://blog.csdn.net/eyu8874521/article/details/8477724
LocationManager
定位服务
http://blog.csdn.net/liuhe688/article/details/6573459
SearchManager
利用此服务可以实现对系统中的应用、联系人、SMS等进行搜索
http://willsunforjava.iteye.com/blog/1674817
Vibrator
手机震动管理
http://www.android-study.com/jichuzhishi/414.html
ConnectivityManager
网络连接,这个应该用的比较多吧,那个app不需要网络,需要就要对网络状态进行判断
http://blog.csdn.net/chenzheng_java/article/details/6387116/
WifiManager
对wifi的信息进行获取,判断处理
http://blog.csdn.net/hknock/article/details/7871866
AudioManager
手机音频文件的管理操作
http://blog.csdn.net/x605940745/article/details/16940097
MediaRouter
好像比较复杂的样子
http://blog.csdn.net/lilian0118/article/details/22940943
TelephonyManager
用于管理手机通话状态,获取电话信息(设备信息、sim卡信息以及网络信息),
http://www.2cto.com/kf/201410/347844.html
SubscriptionManager
http://blog.163.com/machao_163job/blog/static/2087753220121020101316838/
InputMethodManager
软键盘的输入控制
http://www.cnblogs.com/weixing/p/3300908.html
UiModeManager
设置夜间模式和行车模式
http://blog.sina.com.cn/s/blog_8417aea80100v056.html
DownloadManager
下载管理
http://blog.csdn.net/sir_zeng/article/details/8983430
JobScheduler
这个东西可以让系统批处理一些不重要的APP 请求
http://blog.csdn.net/cuiran/article/details/42805057
NetworkStatsManager
这个网上找不到说明文章,说明大家应该都没有吧
Provides access to network usage history and statistics API说明:提供网络使用的历史记录和统计
这个方法都是query的查询方法,说明都是提供写网络使用的详细和统计的信息
总结完毕了,只能说大概了解了一遍基本功能。以后查找的时候能有些印象
顶
0
对于API的查询还不是特别会用,顺便借这个机会学习一下
getSystemService是在Context这个类下的方法,进入Api查询界面搜索Context,然后找到 向下查找就找到了getSystemService这个方法
以下是getSystemService的两个方法:
public final T getSystemService (Class<T>
serviceClass)
Added in API level 23Return the handle to a system-level service by class.
public abstract Object getSystemService (String name)
Added in API level 1Return the handle to a system-level service by 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");
查询API上归纳了所有可获取的类如下:
Currently available classes are:
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,Context.MEDIA_ROUTER_SERVICE这三个没有名称的方法
TelephonyManager, Context.TELEPHONY_SERVICE
SubscriptionManager,
这个比较特殊You do not instantiate this class directly; instead, you retrieve a reference to an instance through
from(Context).
应该这么写吧:SubscriptionManager ubscriptionManager = SubscriptionManager.from(this);
InputMethodManager,
INPUT_METHOD_SERVICE("input_method")
UiModeManager,
UI_MODE_SERVICE("uimode")
DownloadManager,
DOWNLOAD_SERVICE("download")
BatteryManager,
BATTERY_SERVICE("batterymanager"):电池管理
JobScheduler,
JOB_SCHEDULER_SERVICE("taskmanager")
NetworkStatsManager.
NETWORK_STATS_SERVICE("netstats")
挺多的好多基本不认识,所以学会查看API是最基本的东西,这样才能方便学习。
这个个写个总结好像有点没完没了了。
贴上网上大神的总结吧
WindowManager
窗口管理
这个大家应用最多的应该都是用来获取手机屏幕的大小吧
WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
int h = windowManager.getDefaultDisplay().getHeight();
int h = windowManager.getDefaultDisplay().getWidth();
LayoutInflater
用来获取布局文件的view
看介绍这个好像用到的概率比较小
http://www.cnblogs.com/top5/archive/2012/05/04/2482328.html
ActivityManager
获取系统内存信息以及进程信息
http://www.2cto.com/kf/201111/111395.html
PowerManager
电源管理
http://blog.csdn.net/xieqibao/article/details/6562256
AlarmManager
主要闹钟吧
http://blog.csdn.net/wangxingwu_314/article/details/8060312
NotificationManager
这个通知栏的应该会用的比较多,基本的app都要用到吧
http://www.cnblogs.com/stay/articles/1898963.html
KeyguardManager
屏幕保护
http://blog.csdn.net/eyu8874521/article/details/8477724
LocationManager
定位服务
http://blog.csdn.net/liuhe688/article/details/6573459
SearchManager
利用此服务可以实现对系统中的应用、联系人、SMS等进行搜索
http://willsunforjava.iteye.com/blog/1674817
Vibrator
手机震动管理
http://www.android-study.com/jichuzhishi/414.html
ConnectivityManager
网络连接,这个应该用的比较多吧,那个app不需要网络,需要就要对网络状态进行判断
http://blog.csdn.net/chenzheng_java/article/details/6387116/
WifiManager
对wifi的信息进行获取,判断处理
http://blog.csdn.net/hknock/article/details/7871866
AudioManager
手机音频文件的管理操作
http://blog.csdn.net/x605940745/article/details/16940097
MediaRouter
好像比较复杂的样子
http://blog.csdn.net/lilian0118/article/details/22940943
TelephonyManager
用于管理手机通话状态,获取电话信息(设备信息、sim卡信息以及网络信息),
http://www.2cto.com/kf/201410/347844.html
SubscriptionManager
http://blog.163.com/machao_163job/blog/static/2087753220121020101316838/
InputMethodManager
软键盘的输入控制
http://www.cnblogs.com/weixing/p/3300908.html
UiModeManager
设置夜间模式和行车模式
http://blog.sina.com.cn/s/blog_8417aea80100v056.html
DownloadManager
下载管理
http://blog.csdn.net/sir_zeng/article/details/8983430
JobScheduler
这个东西可以让系统批处理一些不重要的APP 请求
http://blog.csdn.net/cuiran/article/details/42805057
NetworkStatsManager
这个网上找不到说明文章,说明大家应该都没有吧
Provides access to network usage history and statistics API说明:提供网络使用的历史记录和统计
这个方法都是query的查询方法,说明都是提供写网络使用的详细和统计的信息
总结完毕了,只能说大概了解了一遍基本功能。以后查找的时候能有些印象
顶
0
相关文章推荐
- Android getSystemService用法实例总结
- android系统getSystemService原理分析
- Android getSystemService()
- Android开发之getSystemService
- Android-获取服务getContext().getSystemService()
- Android getSystemService()
- Android getContext().getSystemService()
- Android之getSystemService
- Android之getSystemService
- android中LayoutInflater的3种使用以及getSystemService的API
- android中比较重要的API:getSystemService
- Android getSystemService
- getSystemService() in Android
- Android getSystemService获取系统相应的服务
- Android之getSystemService
- Android中getSystemService详解
- [转载]android中getSystemService详解
- Object android.content.Context.getSystemService(java.lang.String)' on a null object reference
- android中LayoutInflater的3种使用以及getSystemService的API
- Android:如何在fragment里使用getSystemService()