Hallo Jakob
du benutzt auch quasi nur die Hälfte , was benötigt wird
.
Hier ein Schnipsel aus meinem Code
public class NetworkChangeReceiver {
private Activity mActivity;
private _int_NetworkChangeReceiver mNetworkChangeReceiver;
private OnStatusListener onStatusListener;
private Boolean mMobile = false;
private Boolean mWifi = false;
private Boolean mConnected = false;
private String mCarrier = "";
private String mState = "";
////////////////////////////////////////////////////////////////////////////////////////
public interface OnStatusListener
{
public void onStatusChanged(Boolean connected, Boolean wifi,Boolean mobile,String Carrier,String state);
}
////////////////////////////////////////////////////////////////////////////////////////
public void setOnStatusListener(OnStatusListener listener)
{
onStatusListener = listener;
}
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
public NetworkChangeReceiver(Activity a)
{
mActivity = a;
}
///////////////////////////////////////////////////////////////////////
public void register()
{
IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
mNetworkChangeReceiver = new _int_NetworkChangeReceiver();
mActivity.registerReceiver(mNetworkChangeReceiver, filter);
}
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
public void unregister()
{
mActivity.unregisterReceiver(mNetworkChangeReceiver);
}
///////////////////////////////////////////////////////////////////////
public class _int_NetworkChangeReceiver extends BroadcastReceiver
{
@Override
public void onReceive(final Context context, final Intent intent) {
mActivity = (Activity) context;
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (null != activeNetwork) {
mCarrier = activeNetwork.getExtraInfo();
mState = activeNetwork.getState().toString();
if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI)
{
mWifi = true;
mMobile = false;
mConnected = true;
if (onStatusListener != null) onStatusListener.onStatusChanged(mConnected,mWifi,mMobile,mCarrier,mState);
return;
}
if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE)
{
mWifi = false;
mMobile = true;
mConnected = true;
if (onStatusListener != null) onStatusListener.onStatusChanged(mConnected,mWifi,mMobile,mCarrier,mState);
return;
}
}
mConnected = false;
if (onStatusListener != null) onStatusListener.onStatusChanged(mConnected,mWifi,mMobile,mCarrier,mState);
}
}
}
Verwendung :
mNetworkChangeReceiver = new NetworkChangeReceiver(mActivity);
mNetworkChangeReceiver.setOnStatusListener(new NetworkChangeReceiver.OnStatusListener()
{
@Override
public void onStatusChanged(Boolean connected, Boolean wifi, Boolean mobile, String carrier, String state)
{
Log.d ("XXX","NETWORK : "+ connected + " / "+ wifi + " / "+ mobile + " / "+ carrier + " / "+ state);
}
});
mNetworkChangeReceiver.register();
— geändert am 04.09.2017, 23:47:59
Liebe Grüße - Stefan
[ App - Entwicklung ]
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.