【问题标题】:android: getSystemService calling from a non extended activity class not working [duplicate]android:从非扩展活动类调用getSystemService不起作用[重复]
【发布时间】:2013-06-18 21:06:44
【问题描述】:

我正在尝试测试我的应用的互联网连接,我正在使用“ConnectivityManager”进行测试。

我不想从主类调用 ConnectivityManager 类,而是从一个仅用于处理连接测试的类中调用。

第二个类中的方法“getSystemService”给我一个错误,怎么会???

这是调用connectivitymanager类的主类:

   public void onClick(View v){
        Log.d("mytag", "in onclick");
   CheckInternetpermission obCheckInternetPermission= new CheckInternetpermission();
        Log.d("mytag", "starting permission");
        obCheckInternetPermission.check();
    }

这是连接管理器,“getSystemService”给了我这个错误:无法解析方法'getSystemService(java.lang.String)

package com.example.network;

import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log;
import android.view.View;


public class CheckInternetpermission{
    public void check(){
        Log.d("mytag", "In check");
        ConnectivityManager connMgr = (ConnectivityManager)


getSystemService(Context.CONNECTIVITY_SERVICE); //<---getSystemService give me error??????
            NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
            if (networkInfo != null && networkInfo.isConnected()) {
                Log.d("mytag", "Internet connection TRUE");
            } else {
                Log.d("mytag","Internet connection FALSE");    // display error
            }
    }
}

【问题讨论】:

    标签: java android


    【解决方案1】:

    getSystemService()Context 上的一个方法。您需要有Context 才能获得系统服务。例如,您的ActivityContext,因为Activity 类继承自Context

    【讨论】:

    • check()方法是否应该定义为check(Context context)??我该如何解决?或者更好的方法是如何将上下文传递给 getSystemService() 方法?
    猜你喜欢
    • 1970-01-01
    • 2012-10-26
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多