Android通知Notification

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

package linuxidc.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>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/773509dc7ae6e2259756c9e328aa10d7.html