如何在android中使用上下文?

How to use Context in android?

WifiManager wifimanager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);

这里为什么用context

谁能解释一下?

根据official docs

Context is the global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc.

如果您想使用 WIFI_SERVICE 这是一个 应用程序特定的资源 您必须使用 context 来检索资源。

如果您在活动或片段中,则可以直接调用 getApplicationContext().getSystemService(Context.WIFI_SERVICE) 而无需使用 context 对象,因为活动和片段继承自 Context class。

但是如果你在非 ActivityFragment class 那么你必须从 activity 或片段(使用构造函数或设置器)传递上下文对象) class 以获得特定于应用程序的资源。

一个例子

public class AnyClass{

    private Context context;

    public AnyClass(Context context){
        this.context = context;
    }

    ...

    WifiManager wifimanager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
}