I have an activity class MediaPlayerDemo_Audio
and one broadcast receiver
class ConnectivityChangeReceiver
which extends BroadcastReceiver
.
I want to finish an activity MediaPlayerDemo_Audio when network connection lost.
Any idea? Thanks.
ConnectivityChangeReceiver.java
public class ConnectivityChangeReceiver extends BroadcastReceiver {
@SuppressWarnings("deprecation")
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE );
/* Check wi-fi network availability */
NetworkInfo activeWifiInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
boolean isConnectedToWifi = activeWifiInfo != null && activeWifiInfo.isConnectedOrConnecting();
/* Check mobile network availability */
NetworkInfo activeMobileInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
boolean isConnectedToMobileData = activeMobileInfo != null && activeMobileInfo.isConnectedOrConnecting();
if(isConnectedToWifi){
//Toast.makeText(context, "Connected to wifi!", Toast.LENGTH_LONG).show();
}else{
if(isConnectedToMobileData){
//Toast.makeText(context, "Connected to Mobile data!", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(context, "No internet connection!", Toast.LENGTH_LONG).show();
/* Here I want to finish that activity */
}
}
}}
Androidmanifest.xml Class ConnectivityChangeReceiver will be running in background and It will keep checking network connectivity, this class will be called from this receiver.
<receiver android:name=".ConnectivityChangeReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
I referred this answer but It could not help. Because one class cannot extend multiple classes
. I mean, MediaPlayerDemo_Audio
class cannot extend Activity
as well as BroadcastReceiver
class and vice versa.