Search code examples
androidbroadcastreceiverandroid-support-libraryandroid-support-designsnackbar

How to add Snackbars in a BroadcastReceiver?


Snackbars provide lightweight feedback about an operation by showing a brief message at the bottom of the screen. Snackbars can contain an action.

Android also provides a toast, primarily used for system messaging. Toasts are similar to snackbars but do not contain actions and cannot be swiped off screen.

My question

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class TestReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(final Context context, final Intent intent) {
        Toast.makeText(context, "status", Toast.LENGTH_LONG).show();
    }
}

Is it posible to show a Snackbar in a BroadcastReceiver like Toast?


Solution

  • my working code....

    public abstract  class TestReceiver  extends BroadcastReceiver {
        @Override   
        public void onReceive(final Context context, final Intent intent) {
            onNetworkChange();
        } 
    
        protected abstract void onNetworkChange();
    }
    

    in mainactivity

    public class MainActivity extends Activity  {
    
        public void onCreate() {
            ...  mReceiver = new TestReceiver () {
                @Override
                protected void onNetworkChange() {
                snackbar = Snackbar.make(Clayout, "Please check your internet connection and try again", Snackbar.LENGTH_SHORT);
                snackbar.setAction("X", snackbarClickListener);snackbar.setActionTextColor(Color.GREEN);
                ColoredSnackbar coloredsnakbar=new ColoredSnackbar();
                coloredsnakbar.confirm(snackbar).show();
                }
            };      
        }
    }