I want to my app that can download multiple files simultaneously and show process of download each file in the notification area
How can I do this?Now I can show only 1 process bar when I download files.
Here file notification_progress_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
<ImageView android:id="@+id/status_icon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_marginRight="10dp"
android:src="@drawable/icon_download1"/>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_toRightOf="@id/status_icon">
<TextView android:id="@+id/status_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
/>
<ProgressBar android:id="@+id/status_progress"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/status_text"
android:indeterminate="false"
android:indeterminateOnly="false"
style="?android:attr/progressBarStyleHorizontal" />
</RelativeLayout>
and nofitication file
Intent notificationIntent = new Intent();
PendingIntent contentIntent = PendingIntent.getActivity(activity, 0, notificationIntent, 0);
notificationManager = (NotificationManager) activity.getSystemService(Context.NOTIFICATION_SERVICE);
notification = new Notification(R.drawable.icon_download1, "Downloading...", System.currentTimeMillis());
contentView = new RemoteViews(activity.getPackageName(), R.layout.notification_progress_layout);
contentView.setProgressBar(R.id.status_progress, 100, 0, false);
contentView.setTextViewText(R.id.status_text,"Downloading...");
notification.flags = notification.flags| Notification.FLAG_ONGOING_EVENT;
notification.contentView = contentView;
notification.contentIntent = contentIntent;
notificationManager.notify(NOTIFICATION_ID,notification);
Do like this:
LinearLayoutinside.ProgressBarinside.Code:
Change progressBar values with correct values for each downloads.