以下のサンプルコードでは、onClickBtnShowNotification()で通知を表示し、
onClickBtnUpdate()でプログレスバーを進め、onClickBtnFinish()でプログレスバーを終了しています。
public class MainActivity extends Activity { private final int notifyID = 100; private NotificationCompat.Builder m_builder; private int m_count = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public void onClickBtnShowNotification(View view) { // 通知を表示する m_builder = new NotificationCompat.Builder(this); m_builder.setSmallIcon(R.drawable.ic_launcher); m_builder.setContentTitle("notification title"); m_builder.setContentText("notification text."); m_builder.setTicker("notification ticker"); NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); manager.notify(notifyID, m_builder.build()); } public void onClickBtnUpdate(View view) { NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); // 第1引数に最大値、第2引数に現在値する。 // 第3引数は値増加型プログレスバーの場合、falseを設定。 m_builder.setProgress(100, m_count++, false); // マーキースタイルのプログレスバーにするには↓の引数でsetProgress()を呼び出す // m_builder.setProgress(0, 0, true); // 通知を更新する manager.notify(notifyID, m_builder.build()); } public void onClickBtnFinish(View view) { NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); // プログレスバーを終了させるには、以下の引数でsetProgress()を呼び出す m_builder.setProgress(0, 0, false); // 通知を更新する manager.notify(notifyID, m_builder.build()); } }サンプルなのでボタンクリックでプログレスバーを進めていますが、
実際は別スレッドの処理内でsetProgress()を呼び出すことになると思います。