Notification

来源:互联网 发布:手机频谱软件 编辑:程序博客网 时间:2024/05/18 00:14

原文内容:https://developer.android.com/guide/topics/ui/notifiers/notifications.html

Demo

package com.app.notificationtest;import android.app.Activity;import android.app.NotificationManager;import android.app.PendingIntent;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.support.v4.app.NotificationCompat;import android.support.v4.app.TaskStackBuilder;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);        mBuilder.setSmallIcon(R.drawable.notification_icon);        mBuilder.setContentTitle("Download");        mBuilder.setContentText("Music is downloading");        Intent intent = new Intent(this,ResultActivity.class);        TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);        stackBuilder.addParentStack(ResultActivity.class);        stackBuilder.addNextIntent(intent);        PendingIntent pendingIntent = stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);        mBuilder.setContentIntent(pendingIntent);        NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);        manager.notify(1,mBuilder.build());    }}

这里写图片描述


通知中展示进度条

展示固定时间进度指示器

package com.app.notificationtest;import android.app.Activity;import android.app.NotificationManager;import android.content.Context;import android.os.Bundle;import android.support.v4.app.NotificationCompat;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        final NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);        mBuilder.setSmallIcon(R.drawable.notification_icon);        mBuilder.setContentTitle("Download");        mBuilder.setContentText("Music is downloading");        final NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);        new Thread(new Runnable() {            @Override            public void run() {                int progress;                for(progress=0; progress<=100; progress+=10){                    mBuilder.setProgress(100,progress,false);                    manager.notify(1, mBuilder.build());                    try {                        Thread.sleep(2*1000);                    } catch (InterruptedException e) {                        e.printStackTrace();                    }                }                mBuilder.setContentText("Download completed");                mBuilder.setProgress(0,0,false);                manager.notify(1, mBuilder.build());            }        }).start();    }}

这里写图片描述



这里写图片描述


展示不断持续活动的指示器

package com.app.notificationtest;import android.app.Activity;import android.app.NotificationManager;import android.content.Context;import android.os.Bundle;import android.support.v4.app.NotificationCompat;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        final NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);        mBuilder.setSmallIcon(R.drawable.notification_icon);        mBuilder.setContentTitle("Download");        mBuilder.setContentText("Music is downloading");        final NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);        new Thread(new Runnable() {            @Override            public void run() {                int progress;                for(progress=0; progress<=100; progress+=10){                    mBuilder.setProgress(0,0,true);                    manager.notify(1, mBuilder.build());                    try {                        Thread.sleep(2*1000);                    } catch (InterruptedException e) {                        e.printStackTrace();                    }                }                mBuilder.setContentText("Download completed");                mBuilder.setProgress(0,0,false);                manager.notify(1, mBuilder.build());            }        }).start();    }}

这里写图片描述

这里写图片描述

0 0