Notification通知 模拟下载 小例子

来源:互联网 发布:linux私房菜 第四版 编辑:程序博客网 时间:2024/05/21 20:41

 

 

布局文件 中Button 写个单击事件

 

————————————————————————————————————————————————

Activity部分代码:

 

public class MainActivity extendsAppCompatActivity {     private static final int NID_4 =0x4 ;    @Override   protected void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       setContentView(R.layout.activity_main);    }  public void showProgressNotification(Viewview){  //button的单击事件方法       final NotificationCompat.Builder builder = newNotificationCompat.Builder(this);       //必设参数       builder.setSmallIcon(R.mipmap.ic_launcher);       builder.setContentTitle("下载");       builder.setContentText("正在下载中。。。");       builder.setProgress(100,0,false);      //  Notification n =builder.build();       //发送通知 需要 使用一个系统级的通知管理服务  该对象由系统来管理       final NotificationManager nm = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);       nm.notify(NIDDD,builder.build());        new Thread(new Runnable() {           @Override           public void run() {                for(int i = 0;i<100;i++){                   builder.setProgress(100,i,false);                   nm.notify(NIDDD,builder.build());                    try {                        Thread.sleep(200);                    } catch(InterruptedException e) {                        e.printStackTrace();                    }                }                 builder.setContentText("下载完成");               nm.notify(NIDDD,builder.build());                nm.cancel(NIDDD);           }       }).start(); }}


0 0