BasicNotifications / src / com.example.android.basicnotifications /

MainActivity.java

1
package com.example.android.basicnotifications;
2
 
3
import android.app.Activity;
4
import android.app.NotificationManager;
5
import android.app.PendingIntent;
6
import android.content.Intent;
7
import android.graphics.BitmapFactory;
8
import android.net.Uri;
9
import android.os.Bundle;
10
import android.support.v4.app.NotificationCompat;
11
import android.view.View;
12
 
13
/**
14
 * The entry point to the BasicNotification sample.
15
 */
16
public class MainActivity extends Activity {
17
    /**
18
     * A numeric value that identifies the notification that we'll be sending.
19
     * This value needs to be unique within this app, but it doesn't need to be
20
     * unique system-wide.
21
     */
22
    public static final int NOTIFICATION_ID = 1;
23
 
24
    public void onCreate(Bundle savedInstanceState) {
25
        super.onCreate(savedInstanceState);
26
        setContentView(R.layout.sample_layout);
27
 
28
    }
29
 
30
    /**
31
     * Send a sample notification using the NotificationCompat API.
32
     */
33
    public void sendNotification(View view) {
34
 
36
        /** Create an intent that will be fired when the user clicks the notification.
37
         * The intent needs to be packaged into a {@link android.app.PendingIntent} so that the
38
         * notification service can fire it on our behalf.
39
         */
40
        Intent intent = new Intent(Intent.ACTION_VIEW,
41
                Uri.parse("/~mgoodman/developer.android.com/reference/android/app/Notification.html"));
42
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
44
 
46
        /**
47
         * Use NotificationCompat.Builder to set up our notification.
48
         */
49
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
50
 
51
        /** Set the icon that will appear in the notification bar. This icon also appears
52
         * in the lower right hand corner of the notification itself.
53
         *
54
         * Important note: although you can use any drawable as the small icon, Android
55
         * design guidelines state that the icon should be simple and monochrome. Full-color
56
         * bitmaps or busy images don't render well on smaller screens and can end up
57
         * confusing the user.
58
         */
59
        builder.setSmallIcon(R.drawable.ic_stat_notification);
60
 
61
        // Set the intent that will fire when the user taps the notification.
62
        builder.setContentIntent(pendingIntent);
63
 
64
        // Set the notification to auto-cancel. This means that the notification will disappear
65
        // after the user taps it, rather than remaining until it's explicitly dismissed.
66
        builder.setAutoCancel(true);
67
 
68
        /**
69
         *Build the notification's appearance.
70
         * Set the large icon, which appears on the left of the notification. In this
71
         * sample we'll set the large icon to be the same as our app icon. The app icon is a
72
         * reasonable default if you don't have anything more compelling to use as an icon.
73
         */
74
        builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
75
 
76
        /**
77
         * Set the text of the notification. This sample sets the three most commononly used
78
         * text areas:
79
         * 1. The content title, which appears in large type at the top of the notification
80
         * 2. The content text, which appears in smaller text below the title
81
         * 3. The subtext, which appears under the text on newer devices. Devices running
82
         *    versions of Android prior to 4.2 will ignore this field, so don't use it for
83
         *    anything vital!
84
         */
85
        builder.setContentTitle("BasicNotifications Sample");
86
        builder.setContentText("Time to learn about notifications!");
87
        builder.setSubText("Tap to view documentation about notifications.");
88
 
90
 
92
        /**
93
         * Send the notification. This will immediately display the notification icon in the
94
         * notification bar.
95
         */
96
        NotificationManager notificationManager = (NotificationManager) getSystemService(
97
                NOTIFICATION_SERVICE);
98
        notificationManager.notify(NOTIFICATION_ID, builder.build());
100
    }
101
}