java.lang.InstantiationException: la classe n'a pas de zéro argument du constructeur
Je suis en train d'utiliser un BroadcastReceiver
comme un intérieur de la classe pour suivre l'état du réseau, mais j'ai eu l'exception dans le titre. Que dois-je faire pour résoudre ce problème?
public class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
final ConnectivityManager connMgr = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
final android.net.NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final android.net.NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (wifi.isAvailable() || mobile.isAvailable()) {
setupData();
Log.d("Netowk Available ", "Flag No 1");
}
}
}
Vous devez vous connecter pour publier un commentaire.
Votre
OU
pour cela.
J'ai été en utilisant un Intérieur de diffusion reciver, sans l'inscrire au sein de la classe. Soit le rendre statique et de s'inscrire dans le Manifeste , ou de les Rendre non-statiques, et de s'inscrire ou se désinscrire à l'intérieur de la classe parent .
Un non-statique à l'intérieur de la classe ne peut pas être enregistré via le
AndroidManifest.xml
. Vous pouvez soit:Enregistrer dynamiquement comme indiqué dans ce fil, et de supprimer le constructeur vide.
Ou,
Faire de votre intérieur de la classe statique, et de l'inscrire dans la
AndroidManifext.xml
.suffit de faire votre Récepteur de Classe statique comme:
public [static] class ReceiverClass extends BroadcastReceiver
e~~je viens de rencontrer ce problème,et je refactoriser la classe
NetworkChangeReceiver
à un autre endroit