刷新通知栏中的进度条

我想在通知栏中放置一个进度条。 这个想法是显示进度条,而程序将file upload到服务器。 其他一切都没问题,但我不知道如何刷新通知内的进度条。 有人知道有什么模式可以玩吗? 我的意思是,我应该在哪里刷新进度条,在服务或活动等等。

Solutions Collecting From Web of "刷新通知栏中的进度条"

我不知道你的代码是什么样的,所以我不知道你需要修改什么,但是我通过文档search。 我在Notifications , ProgressBars和RemoteViews上find了一些东西。

具体来说,在RemoveView中,您可以更新进度栏。 所以结合每个链接中的一些示例代码,我得到这样的东西:

public class MyActivity extends Activity { private static final int PROGRESS = 0x1; private static final int MAX_PROGRESS = 100; private int mProgressStatus = 0; private Handler mHandler = new Handler(); protected void onCreate(Bundle icicle) { super.onCreate(icicle); //define Notification //... RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification_layout); contentView.setProgressBar(R.id.progress_bar, MAX_PROGRESS, mProgressStatus, false); notification.contentView = contentView; // Start file upload in a background thread new Thread(new Runnable() { public void run() { while (mProgressStatus < MAX_PROGRESS) { mProgressStatus = doWork(); // Update the progress bar mHandler.post(new Runnable() { public void run() { contentView.setProgressBar(R.id.progress_bar, MAX_PROGRESS, mProgressStatus, false); } }); } } }).start(); } } 

要从RemoteView中删除ProgressBar,请使用以下代码: –

  remoteViews.setViewVisibility(R.id.progressBar, View.INVISIBLE); 

你也可以使用View.GONE但会使android填充空白空间。