Android通知Notification


一个Android通知Notification Demo。点击 发送通知 按钮,则发送通知到设备的通知栏。点击 清除通知 则清除通知栏上的消息通知。

package bkjia.notification;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.support.v4.app.NotificationCompat;

public class MainActivity extends Activity {

 private final int NOTIFICATION_ID = 105;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  Button send = (Button) findViewById(R.id.send);
  send.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View v) {
    sendNotification();
   }
  });

  Button clear = (Button) findViewById(R.id.clear);
  clear.setOnClickListener(new View.OnClickListener() {

   @Override
   public void onClick(View v) {
    clearNotification();
   }
  });
 }

 private void sendNotification() {

  NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

  NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
    this);
  mBuilder.setSmallIcon(R.drawable.ic_launcher);
  mBuilder.setContentTitle("通知的标题");
  mBuilder.setContentText("通知的内容");

  Notification notification = mBuilder.build();

  // 缺省设置为当发送通知到通知栏时候:提示声音 + 手机震动
  notification.defaults = Notification.DEFAULT_SOUND
    | Notification.DEFAULT_VIBRATE ;

  // 通知的时间
  notification.when = System.currentTimeMillis();

  // 发送到手机的通知栏
  notificationManager.notify(NOTIFICATION_ID, notification);
 }

 private void clearNotification() {
  NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
  notificationManager.cancel(NOTIFICATION_ID);
 }
}

需要的activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="发送通知" />
   
    <Button
        android:id="@+id/clear"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="清除通知" />

</LinearLayout>

相关内容

    暂无相关文章