Courtesy: GitHub

Android BasicNotifications Sample

A basic app showing how to display events in the system's notification bar using the NotificationCompat API. NotificationCompat API is used for compatibility with older devices, running Android 1.6 (Donut) (API level 4) or newer.

Introduction

The Notification API allows the app developers to display a message outside of your application's normal UI.

The class Notification was added in the Android 3.0 (API level 11), but this sample refers to the NotificationCompat class (part of the support library), which offers the same functionality for Android 1.6 (API level 4) or newer.

A Notificaiton can be created using Notification.Builder object. At bare minimum, a Builder object must include the following:

in the code snippet, it looks like following.

NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setSmallIcon(R.drawable.ic_stat_notification);
builder.setContentTitle("BasicNotifications Sample");
builder.setContentText("Time to learn about notifications!");

To issue the notification, call notify() method in the NotificationManager. The code snippet will immediately display the notification icon in the notification bar.

NotificationManager notificationManager = (NotificationManager) getSystemService(
        NOTIFICATION_SERVICE);
notificationManager.notify(NOTIFICATION_ID, builder.build());

Pre-requisites

  • Android SDK 26
  • Android Build Tools v26.0.1
  • Android Support Repository

Screenshots

Screenshot

Getting Started

This sample uses the Gradle build system. To build this project, use the "gradlew build" command or use "Import Project" in Android Studio.

Support

If you've found an error in this sample, please file an issue: https://github.com/googlesamples/android-BasicNotifications

Patches are encouraged, and may be submitted by forking this project and submitting a pull request through GitHub. Please see CONTRIBUTING.md for more details.

License

Copyright 2017 The Android Open Source Project, Inc.

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

compile "com.android.support:support-v4:26.1.0"

compile "com.android.support:gridlayout-v7:26.1.0"

compile "com.android.support:cardview-v7:26.1.0"

compile "com.android.support:appcompat-v7:26.1.0"

compileSdkVersion 26

minSdkVersion 8

targetSdkVersion 26

package com.example.android.basicnotifications.tests

versionCode 1

versionName 1.0

package com.example.android.basicnotifications

versionCode 1

versionName 1.0

MainActivity

MainActivity

The entry point to the BasicNotification sample.

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.

Send a sample notification using the NotificationCompat API.

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.

Use NotificationCompat.Builder to set up our notification.

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.

*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.

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!

Send the notification. This will immediately display the notification icon in the notification bar.