Контекст.Ошибка CONNECTIVITY_SERVICE. Не удается получить доступ?

#java #android

#java #Android

Вопрос:

 public boolean isOnline() {
    ConnectivityManager cm = (ConnectivityManager) 
             getSystemService(Context.CONNECTIVITY_SERVICE);
    return cm.getActiveNetworkInfo().isConnectedOrConnecting();
}
  

Это функция, с которой я хочу работать.
но я получаю сообщение об ошибке «CONNECTIVITY_SERVICE не может быть разрешен или не является полем»
Я добавил:

 uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"
uses-permission android:name="android.permission.INTERNET"
  

к моему файлу манифеста.

это мой импорт:

 package com.MTSUAndroid;
import java.io.*;
import java.net.*;
import java.sql.*;
import java.util.Calendar;
import javax.naming.Context;

import android.app.Activity;
import android.graphics.Color;
import android.net.*;
import android.os.*;
import android.widget.*;
import android.text.Html;
import android.text.format.DateFormat;
import android.view.View;

import org.apache.http.util.ByteArrayBuffer;
  

Я не уверен, что я делаю неправильно, если кто-нибудь может помочь..

Ответ №1:

Вместо импорта:

 import javax.naming.Context;
  

импорт

 import android.content.Context;
  

Ответ №2:

Я знаю, что на этот вопрос уже был дан ответ (хотя по какой-то причине он не был принят), но я хотел также указать альтернативный ответ, поскольку этот не отвечал на мои вопросы, и я нигде не мог найти ответ.

Похоже, что CONNECTIVITY_SERVICE это часть Activity , которая, если ваш класс не расширяется Activity , выдает эту ошибку. Чтобы обойти это, я просто использовал getActivity().getSystemService(getActivity().CONNECTIVITY_SERVICE) . Надеюсь, это тоже поможет.