Skip to main content

Android - Notifications - 1

Creating a simple notification



 NotificationCompat.Builder mBuilder =  
          new NotificationCompat.Builder(this)  
          .setSmallIcon(R.drawable.ic_launcher)  
          .setContentTitle("DJ-Android notification")  
          .setContentText("Hello World!");  
      // Creates an explicit intent for an Activity in your app  
      Intent resultIntent = new Intent(this, test.class);  
      // The stack builder object will contain an artificial back stack for the  
      // started Activity.  
      // This ensures that navigating backward from the Activity leads out of  
      // your application to the Home screen.  
      TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);  
      // Adds the back stack for the Intent (but not the Intent itself)  
      stackBuilder.addParentStack(test.class);  
      // Adds the Intent that starts the Activity to the top of the stack  
      stackBuilder.addNextIntent(resultIntent);  
      PendingIntent resultPendingIntent =  
          stackBuilder.getPendingIntent(  
            0,  
            PendingIntent.FLAG_UPDATE_CURRENT  
          );  
      mBuilder.setContentIntent(resultPendingIntent);  
      NotificationManager mNotificationManager =  
        (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);  
      // mId allows you to update the notification later on.  
      mNotificationManager.notify(100, mBuilder.build());  

Custom Notification Layouts with Button click


For custom notification you have to create layout like below

 <?xml version="1.0" encoding="UTF-8"?>  
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
   android:layout_width="fill_parent"  
   android:layout_height="fill_parent"  
   android:gravity="center"  
   android:orientation="horizontal" >  
   <TextView  
     android:id="@+id/textView1"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:gravity="center"  
     android:text="DJ notification"  
     android:textAppearance="?android:attr/textAppearanceMedium" />  
   <Button  
     android:id="@+id/button1"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:text="Close Me" />  
 </LinearLayout>  

Notification code:
 RemoteViews remoteViews = new RemoteViews(getPackageName(),  
                     R.layout.widget);  
           NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(  
                     this).setSmallIcon(R.drawable.ic_launcher).setContent(  
                     remoteViews);  
           // Creates an explicit intent for an Activity in your app  
           Intent resultIntent = new Intent(this, test.class);  
           // The stack builder object will contain an artificial back stack for  
           // the  
           // started Activity.  
           // This ensures that navigating backward from the Activity leads out of  
           // your application to the Home screen.  
           TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);  
           // Adds the back stack for the Intent (but not the Intent itself)  
           stackBuilder.addParentStack(test.class);  
           // Adds the Intent that starts the Activity to the top of the stack  
           stackBuilder.addNextIntent(resultIntent);  
           PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,  
                     PendingIntent.FLAG_UPDATE_CURRENT);  
           remoteViews.setOnClickPendingIntent(R.id.button1, resultPendingIntent);  
           NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);  
           // mId allows you to update the notification later on.  
           mNotificationManager.notify(100, mBuilder.build());  

Displaying Progress in a Notification

 mNotifyManager = (NotificationManager) getApplicationContext()  
                     .getSystemService(Context.NOTIFICATION_SERVICE);  
           mBuilder = new NotificationCompat.Builder(this);  
           mBuilder.setContentTitle("Picture Download")  
                     .setContentText("Download in progress")  
                     .setSmallIcon(R.drawable.ic_launcher);  
           // Start a lengthy operation in a background thread  
           new Thread(new Runnable() {  
                @Override  
                public void run() {  
                     int incr;  
                     // Do the "lengthy" operation 20 times  
                     for (incr = 0; incr <= 100; incr += 5) {  
                          // Sets the progress indicator to a max value, the  
                          // current completion percentage, and "determinate"  
                          // state  
                          mBuilder.setProgress(100, incr, false);  
                          // Displays the progress bar for the first time.  
                          mNotifyManager.notify(0, mBuilder.build());  
                          // Sleeps the thread, simulating an operation  
                          // that takes time  
                          try {  
                               // Sleep for 5 seconds  
                               Thread.sleep(5 * 1000);  
                          } catch (InterruptedException e) {  
                               Log.e("error-->", "sleep failure");  
                          }  
                     }  
                     // When the loop is finished, updates the notification  
                     mBuilder.setContentText("Download complete")  
                     // Removes the progress bar  
                               .setProgress(0, 0, false);  
                     mNotifyManager.notify(ID, mBuilder.build());  
                }  
           }  
           // Starts the thread by calling the run() method in its Runnable  
           ).start();  

Comments

Popular posts from this blog

Android - Google MAP V2 PART 3 (add Polyline)

Download Full Code  of  PART-1 , 2 , 3 , 4 Before go ahead Please look in to PART-1 & PART-2 I have just modify Main Activity class: package com.djandroid.mapsv2; import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.GoogleMap.OnMapClickListener; import com.google.android.gms.maps.GoogleMap.OnMarkerClickListener; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.Marker; import com.google.android.gms.maps.model.MarkerOptions; import com.google.android.gms.maps.model.Polyline; import com.google.android.gms.maps.model.PolylineOptions; public class MainActivity extends FragmentActivity { private GoogleMap MAP; private boolean markClic...

Android Material Design - 2 (Good bay ActionBar, Hello ToolBar with Navigation Drawer)

hello all, after long time i have update my blog with android material Design theme, i am tying to demonstrate new things which is available with android lollipop. using different example i 'll show you, one sample app with material design which include ToolBar, Floting Actions, Tabs, Cardview, Recycle view. Download full example on  Github . In this example we will take a look at the new Actionbar replacement called Toolbar. It is introduced in Android Lollipop, API level 21 release, and hence it is available to use, out of box for the application that are targeted to 21 and above. However, as always Google provides fully supported Toolbar features to lower android os devices via AppCompact support library. In AppCompat, Toolbar is implemented in the  android.support.v7.widget.Toolbar  class. Pre-requirements: 1. Android Studio 1.0.1 (Latest while writing the post) 2. Appcombat v7 Support librar...

ANDROID - AutoCompleteTextView inside ActionBar

in MainActivity: package com . example . testapp ; import android . annotation . TargetApi ; import android . app . ActionBar ; import android . app . Activity ; import android . content . Context ; import android . os . Bundle ; import android . view . LayoutInflater ; import android . view . View ; import android . widget . ArrayAdapter ; import android . widget . AutoCompleteTextView ; @TargetApi ( 11 ) public class MainActivity extends Activity { private static final String [] COUNTRIES = new String [] { "Belgium" , "France" , "France_" , "Italy" , "Germany" , "Spain" }; @Override public void onCreate ( Bundle savedInstanceState ) { super . onCreate ( savedInstanceState ); setContentView ( R . layout . activity_main ); ActionBar actionBar = getActionBar (); actionBar . setDisplayHomeAsUpEnabled ( tru...