Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        6年前关闭。
                                                                                            
                
        
我以前从未使用过public,但是现在我需要在多个活动中使用一个函数,因此,与其在每个活动中都创建方法,不如将其公开,以便每个活动都可以访问它。但是我现在该如何使用呢?如果我只是在另一个活动中调用该方法,它将无法识别该方法,并且也无法选择导入该方法。

这是方法:

public boolean isNetworkAvailable() {
    ConnectivityManager connectivityManager
          = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}

最佳答案

如果要在多个活动中使用isNetworkAvailable,则不应将其放在一个活动中,然后再从另一个活动中使用它。相反,您应该创建一个实用程序类。实用程序类通常是带有静态助手方法的类,您可以在整个应用程序中使用它们。

例如:

package com.example.util;

public static class NetworkUtils {
    public static boolean isNetworkAvailable(Context context) {
        ConnectivityManager connectivityManager
              = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
        return activeNetworkInfo != null && activeNetworkInfo.isConnected();
    }
}


然后,在一个活动中,像这样使用它:

NetworkUtils.isNetworkAvailable(this)


...或者如果您位于片段中:

NetworkUtils.isNetworkAvailable(getActivity())


...或者如果您只是在回调中:

NetworkUtils.isNetworkAvailable(MyActivity.this)

10-01 20:36