package com.ljc.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.view.View;
import android.widget.Button;
import android.widget.RemoteViews;
import android.widget.TextView;
public class NotificationDemo extends Activity {
Button button;
NotificationManager notificationManager;
Notification notification;
Intent intent;
PendingIntent pendingIntent;
private RemoteViews view = null;
private int progress = 40;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
notificationManager = (NotificationManager) this.getSystemService(NOTIFICATION_SERVICE);
Button button = (Button) this.findViewById(R.id.Button01);
// 点击通知时转移内容
intent = new Intent(NotificationDemo.this, DesActivity.class);
pendingIntent = PendingIntent.getActivity(NotificationDemo.this, 0, intent, 0);
notification = new Notification (R.drawable.icon, "带进条的提醒", System
.currentTimeMillis());
view = new RemoteViews(getPackageName(), R.layout.custom_dialog);
view.setImageViewResource(R.id.image, R.drawable.icon);// 起一个线程用来更新progress
button.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
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;
// 通过RemoteViews 设置notification中View 的属性
notification.contentView = view;
notification.contentIntent = pendingIntent;
// 这个可以理解为开始执行这个通知
notificationManager.notify(0, notification);
}
});
}
}
<?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" />
<ProgressBar android:id="@+id/pb" android:layout_width="180dip"
android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal"
android:layout_gravity="center_vertical" />
<TextView android:id="@+id/tv" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:textSize="16px"
android:textColor="#FF0000" />
</LinearLayout>
分享到:
相关推荐
本示例"Android notification进度条 demo"专门关注如何在通知中集成进度条,为用户提供一个可视化的操作进度指示。 Android的通知系统允许开发者创建各种类型的通知,包括带有进度条的。这种通知通常用于显示后台...
本教程将详细讲解如何在Android中使用Service进行后台下载,并实时更新Notification的进度条。 首先,我们需要创建一个Service,通常继承自`IntentService`。`IntentService`是一个单线程的Service,自动管理工作...
对于“android notification 进度条下载”这一主题,我们将深入探讨如何在Android中创建一个具有进度条功能的通知,以实时显示下载任务的进度。 1. **创建NotificationChannel** - Android Oreo(API 26)及更高...
本篇主要探讨如何使用`Service`、`Notification`以及进度条来实现一个优雅的后台下载更新过程。首先,我们需要理解`Service`在Android中的作用。 `Service`是Android四大组件之一,它在后台运行,不提供用户界面,...
本文实例讲述了Android实现为Notification加上一个进度条的方法。分享给大家供大家参考,具体如下: package com.notification; import android.app.Activity; import android.app.Notification; import android....
在Android开发中,创建一个下载进度条是提升用户体验的关键元素,它能让用户直观地了解应用程序后台下载或上传任务的进度。下面将详细讲解如何在Android中实现一个下载进度条案例。 首先,我们需要在布局文件(如`...
综上所述,"Notification中更新进度条"涉及到Android的通知机制、`NotificationCompat.Builder`的使用、服务的生命周期管理以及通知渠道的创建。理解并熟练运用这些知识点,可以创建出既美观又能有效传达信息的进度...
在Android系统中,通知(Notification)是用户界面中不可或缺的一部分,它允许应用在状态栏或者通知中心向用户传达重要信息,即使用户并未直接与应用交互。"Android Notification"这一主题聚焦于如何创建和管理用于...
在Android系统中,Notification是应用与用户交互的重要方式之一,特别是在后台运行时,它能将信息传达给用户,如消息提醒、下载进度等。本文将深入探讨如何利用Android的Notification API来实现动态下载过程的可视化...
在Android中,`Notification`类是用于在通知栏创建和管理通知的核心对象。我们可以通过`NotificationCompat.Builder`来构建自定义的通知。`Builder`提供了许多方法,如`setContentTitle()`、`setContentText()`以及`...
6. **进度通知** (Progress Notification): 当需要显示任务的进度,如下载或上传时,可以使用这种类型的通知,可以是indeterminate(不确定)或determinate(确定)进度条。 7. **优先级通知** (Priority ...
在Android开发中,进度条(ProgressBar)是一种常见的用户界面组件,用于向用户显示某个操作的进度或等待状态。本文将全面解析Android中的进度条使用、类型及其相关知识点,旨在帮助开发者更好地理解和应用这一功能...
在Android开发中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示信息,即使应用在后台运行也能提醒用户。本示例"android NotificationDemo"着重于如何自定义View来实现更个性化的通知功能。 首先...
通过这个主题,我们可以探讨如何在Android应用中创建一个高效的下载管理系统,并利用Notification组件来显示下载进度。以下是一份详细的步骤和知识点解析: 1. **Android多任务下载**: - 多线程下载:为了实现多...
此外,Notification还可以包含扩展数据,比如小图标、子标题、颜色或进度条。通过NotificationCompat.Builder类,开发者可以添加自定义视图或者使用预设的扩展字段,使通知更加个性化。 在发送通知时,通常会使用...
在Android开发中,为用户提供一个清晰的下载进度条体验是至关重要的,这有助于增强用户体验,让用户了解应用程序后台操作的状态。本教程将通过一个名为“Android更新下载进度条 demo”的项目来探讨如何在Android中...
在Android开发中,实现多文件下载并展示进度条是一项常见的需求。这涉及到网络编程、线程管理、数据存储以及UI更新等多个方面的知识。下面将详细解释如何在Android中实现这一功能。 1. **网络编程**:Android中进行...
在Android开发中,Notification是应用与用户交互的重要方式,它可以在状态栏中显示消息,即使应用在后台运行也能保持与用户的联系。而“带进度条(ProgressBar)的Notification”则是进一步提升用户体验的一种设计,它...
在Android开发中,通知栏(Notification)是一种向用户传达应用状态和信息的重要方式,而进度条(Progress Bar)则是展示任务执行进度的关键组件。本文将深入探讨如何在Android通知栏中使用常见方法以及如何显示...