大佬教程收集整理的这篇文章主要介绍了Android实现为Notification加上一个进度条的方法,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了Android实现为Notification加上一个进度条的方法。分享给大家供大家参考,具体如下:
package com.notification; 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.view.View.onClickListener; import android.widget.button; import android.widget.RemoteViews; import android.widget.Toast; public class nofificationActivity extends Activity implements OnClickListener { private static final int nOTIFICATION_ID = 0x12; private Notification notification = null; private notificationmanager manager = null; public Handler handler; privatE int _progress = 0; private Thread thread = null; private Boolean isStop = false; // 当界面处理停止的状态 时,设置让进度条取消 @Override protected void onPause() { // TODO Auto-generated method stub isStop = false; manager.cancel(NOTIFICATION_ID); super.onPause(); } /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceStatE) { super.onCreate(savedInstanceStatE); setContentView(R.layout.main); Button btn = (Button) findViewById(R.id.button01); btn.setOnClickListener(this); notification = new Notification(R.drawable.icon,"带进条的提醒",System .currentTimeMillis()); notification.icon = R.drawable.icon; // 通过RemoteViews 设置notification中View 的属性 notification.contentView = new RemoteViews(getApplication() .getPackagename(),R.layout.custom_dialog); notification.contentView.setProgressBar(R.id.pb,100,falsE); notification.contentView.setTextViewText(R.id.tv,"进度" + _progress + "%"); // 通过PendingIntetn // 设置要跳往的Activity,这里也可以设置发送一个服务或者广播, // 不过在这里的操作都必须是用户点击notification之后才触发的 notification.contenTintent = PendingIntent.getActivity(this,new Intent(this,remoteView.class),0); // 获得一个Notificationmanger 对象,此对象可以对notification做统一管理,只需要知道ID manager = (notificationmanager) getSystemservice(NOTIFICATION_serviCE); } @Override public void onClick(View v) { // TODO Auto-generated method stub isStop = true; manager.notify(NOTIFICATION_ID,notification); thread = new Thread(new Runnable() { @Override public void run() { Thread.currentThread(); // TODO Auto-generated method stub while (isStop) { _progress += 10; message msg = handler.obtainmessage(); msg.arg1 = _progress; msg.send@R_362_10586@rget(); try { Thread.sleep(500); } catch (InterruptedException E) { // TODO Auto-generated catch block e.printStackTrace(); } } } }); thread.start(); handler = new Handler() { @Override public void handlemessage(message msg) { // TODO Auto-generated method stub notification.contentView.setProgressBar(R.id.pb,msg.arg1,falsE); notification.contentView.setTextViewText(R.id.tv,"进度" + msg.arg1 + "%"); manager.notify(NOTIFICATION_ID,notification); if (msg.arg1 == 100) { _progress = 0; manager.cancel(NOTIFICATION_ID); isStop = false; Toast.makeText(nofificationActivity.this,"下载完毕",1000) .show(); } super.handlemessage(msg); } }; } }
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android基本组件用法总结》、《Android视图View技巧总结》、《Android资源操作技巧汇总》、《Android文件操作技巧汇总》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》、《Android数据库操作技巧总结》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》、《Android编程之activity操作技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
以上是大佬教程为你收集整理的Android实现为Notification加上一个进度条的方法全部内容,希望文章能够帮你解决Android实现为Notification加上一个进度条的方法所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。