diff options
Diffstat (limited to 'samples/browseable/BasicNotifications/src/com.example.android.basicnotifications/MainActivity.java')
| -rw-r--r-- | samples/browseable/BasicNotifications/src/com.example.android.basicnotifications/MainActivity.java | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/samples/browseable/BasicNotifications/src/com.example.android.basicnotifications/MainActivity.java b/samples/browseable/BasicNotifications/src/com.example.android.basicnotifications/MainActivity.java new file mode 100644 index 000000000..3e78c3425 --- /dev/null +++ b/samples/browseable/BasicNotifications/src/com.example.android.basicnotifications/MainActivity.java @@ -0,0 +1,101 @@ +package com.example.android.basicnotifications; + +import android.app.Activity; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.Intent; +import android.graphics.BitmapFactory; +import android.net.Uri; +import android.os.Bundle; +import android.support.v4.app.NotificationCompat; +import android.view.View; + +/** + * The entry point to the BasicNotification sample. + */ +public class MainActivity extends Activity { + /** + * A numeric value that identifies the notification that we'll be sending. + * This value needs to be unique within this app, but it doesn't need to be + * unique system-wide. + */ + public static final int NOTIFICATION_ID = 1; + + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.sample_layout); + + } + + /** + * Send a sample notification using the NotificationCompat API. + */ + public void sendNotification(View view) { + + // BEGIN_INCLUDE(build_action) + /** Create an intent that will be fired when the user clicks the notification. + * The intent needs to be packaged into a {@link android.app.PendingIntent} so that the + * notification service can fire it on our behalf. + */ + Intent intent = new Intent(Intent.ACTION_VIEW, + Uri.parse("http://developer.android.com/reference/android/app/Notification.html")); + PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0); + // END_INCLUDE(build_action) + + // BEGIN_INCLUDE (build_notification) + /** + * Use NotificationCompat.Builder to set up our notification. + */ + NotificationCompat.Builder builder = new NotificationCompat.Builder(this); + + /** Set the icon that will appear in the notification bar. This icon also appears + * in the lower right hand corner of the notification itself. + * + * Important note: although you can use any drawable as the small icon, Android + * design guidelines state that the icon should be simple and monochrome. Full-color + * bitmaps or busy images don't render well on smaller screens and can end up + * confusing the user. + */ + builder.setSmallIcon(R.drawable.ic_stat_notification); + + // Set the intent that will fire when the user taps the notification. + builder.setContentIntent(pendingIntent); + + // Set the notification to auto-cancel. This means that the notification will disappear + // after the user taps it, rather than remaining until it's explicitly dismissed. + builder.setAutoCancel(true); + + /** + *Build the notification's appearance. + * Set the large icon, which appears on the left of the notification. In this + * sample we'll set the large icon to be the same as our app icon. The app icon is a + * reasonable default if you don't have anything more compelling to use as an icon. + */ + builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher)); + + /** + * Set the text of the notification. This sample sets the three most commononly used + * text areas: + * 1. The content title, which appears in large type at the top of the notification + * 2. The content text, which appears in smaller text below the title + * 3. The subtext, which appears under the text on newer devices. Devices running + * versions of Android prior to 4.2 will ignore this field, so don't use it for + * anything vital! + */ + builder.setContentTitle("BasicNotifications Sample"); + builder.setContentText("Time to learn about notifications!"); + builder.setSubText("Tap to view documentation about notifications."); + + // END_INCLUDE (build_notification) + + // BEGIN_INCLUDE(send_notification) + /** + * Send the notification. This will immediately display the notification icon in the + * notification bar. + */ + NotificationManager notificationManager = (NotificationManager) getSystemService( + NOTIFICATION_SERVICE); + notificationManager.notify(NOTIFICATION_ID, builder.build()); + // END_INCLUDE(send_notification) + } +} |
