summaryrefslogtreecommitdiffstats
path: root/samples/browseable/BasicNotifications/src/com.example.android.basicnotifications/MainActivity.java
diff options
context:
space:
mode:
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.java101
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)
+ }
+}