notification.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:padding="10dp">
<ImageView android:id="@+id/image" android:layout_width="wrap_content"
android:layout_height="fill_parent" />
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical">
<ProgressBar android:id="@+id/pb" android:layout_width="fill_parent"
android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal"
android:layout_gravity="center_vertical" />
<TextView android:id="@+id/tv" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:gravity="center_vertical|center_horizontal"
android:textColor="#FF0000" />
</LinearLayout>
</LinearLayout>
package com.pekall.notificationdemo; 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.widget.RemoteViews; public class MainActivity extends Activity { private NotificationManager notificationManager; private Notification notification; private RemoteViews view = null; private int progress = 40; Intent intent; PendingIntent pendingIntent; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); notificationManager = (NotificationManager) this.getSystemService(NOTIFICATION_SERVICE); intent = new Intent(MainActivity.this, NewActivity.class); pendingIntent = PendingIntent.getActivity(MainActivity.this, 0, intent, 0); notification = new Notification(R.drawable.icon,"带进度条的提醒",System.currentTimeMillis()); view = new RemoteViews(getPackageName(), R.layout.notification); view.setImageViewResource(R.id.image, R.drawable.icon); view.setProgressBar(R.id.pb, 100, progress, false); view.setTextViewText(R.id.tv, "下载" + progress + "%"); //通知的图标 notification.icon = R.drawable.icon; //通知的默认声音 notification.defaults = Notification.FLAG_ONLY_ALERT_ONCE; //放入通知的视图 notification.contentView = view;
notification.contentIntent = pendingIntent; //执行通知 需要时调用notificationManager.cancel(id)结束通知.//点击通知后跳转到...
notificationManager.notify(1, notification); }}
package com.pekall.notificationdemo; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.widget.TextView; public class NewActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textView = new TextView(this); textView.setBackgroundColor(Color.YELLOW); setContentView(textView); } }