WifiManager wifimanager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
为什么要使用 "上下文"?context
这里用的是什么?
谁能解释一下?
根据 正式文件
Context
是应用环境的全局信息。 这是一个abstract
类,其实现是由Android
系统。它允许访问特定于应用程序的资源和类,以及应用程序级操作的上调,如启动活动、广播和接收意图等。
如果你想使用 WIFI_SERVICE
这是个 特定应用资源你必须使用 context
来检索资源。
如果你在活动或片段中,那么你可以调用 getApplicationContext().getSystemService(Context.WIFI_SERVICE)
直接使用 context
对象,因为activity和fragments继承自 Context
类。
但如果你在一个非 Activity
或 Fragment
类,那么你就必须将活动或片段的上下文对象(带有构造函数或设置函数)传递给该类,以便获得应用程序特定的资源。
一个例子
public class AnyClass{
private Context context;
public AnyClass(Context context){
this.context = context;
}
...
WifiManager wifimanager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
}