带进度条的状态栏

xml文件: <?xml version="1.0" encoding="utf-8"?> Activity: package com.jieer; import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.widget.Button; import android.widget.RemoteViews; public class MainActivity extends Activity { //当前进度条里的进度值 private int progress=0; private RemoteViews view=null; private Notification notification=new Notification(); private NotificationManager manager=null; private Intent intent=null; private PendingIntent pIntent=null;//更新显示 private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub view.setProgressBar(R.id.pb, 100, progress, false); view.setTextViewText(R.id.tv, "下载"+progress+"%");//关键部分,如果你不重新更新通知,进度条是不会更新的 notification.contentView=view; notification.contentIntent=pIntent; manager.notify(0, notification); super.handleMessage(msg); } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); manager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE); view=new RemoteViews(getPackageName(),R.layout.custom_dialog); intent=new Intent(MainActivity.this,NotificationService.class); pIntent=PendingIntent.getService(MainActivity.this, 0, intent, 0); Button button=(Button)findViewById(R.id.bt); button.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { //通知的图标必须设置(其他属性为可选设置),否则通知无法显示 notification.icon=R.drawable.icon; view.setImageViewResource(R.id.image, R.drawable.icon);//起一个线程用来更新progress new Thread(new Runnable(){ @Override public void run() { for(int i=0;i<20;i++){ progress=(i+1)*5; try { if(i<19){ Thread.sleep(1000); }else { Thread.currentThread().interrupt(); } } catch (InterruptedException e) { e.printStackTrace(); } Message msg = new Message(); handler.sendMessage(msg); } } }).start(); } }); } }

转载于:https://www.cnblogs.com/dive/archive/2012/08/31/2664765.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值