在前台运行的 Activity 可以通过Dialog、Toast 向用户发出提示信息,而后台运行的程序,如下载、收到信息等 Service 应用,则需要使用 Notification(通知)向用户发出提示信息。

 import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RemoteViews; public class NotificationActivity extends Activity { Button b1;
NotificationManager nmanager;
Notification notification;
int notificationID=1; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.notificationlayout);
b1=(Button) findViewById(R.id.notification_bt1);
b1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//sendNotification();
sendCustomNotification();
}}
);
} // 发送自定义通知
public void sendCustomNotification(){
//1.获得 NotificationManager
nmanager=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
//2.创建 Notification
notification =new Notification(
R.drawable.folder_open,
"收到文件",
System.currentTimeMillis()
);
RemoteViews rv = new RemoteViews(getPackageName(),R.layout.notificationinterfacelayout);
rv.setImageViewResource(R.id.notification_img, R.drawable.savefile);
rv.setTextViewText(R.id.notification_title, "催眠曲.mp3");
rv.setProgressBar(R.id.notification_progressbar, 100, 20, false);
notification.contentView=rv;
//3.设置属性,这些属性会在展开状态栏后显示
Intent intent =new Intent(this,ToastActivity.class); //转向其他
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pIntent=PendingIntent.getActivity(this, 0, intent, 0);
notification.contentIntent=pIntent;
//4.将Notification发给Manager
nmanager.notify(notificationID++, notification);
} // 发送通知
public void sendNotification(){
//1.获得NotificationManager
nmanager=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
//2.创建Notification
notification =new Notification(
R.drawable.folder_open,
"收到文件",
System.currentTimeMillis()
);
// 可选属性
notification.defaults|=Notification.DEFAULT_SOUND;
notification.flags |=Notification.FLAG_INSISTENT; // 3.设置属性,这些属性会在展开状态栏后显示
Intent intent =new Intent(this,ToastActivity.class); //转向其他
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pIntent=PendingIntent.getActivity(this, 0, intent, 0);
notification.setLatestEventInfo(this, "接收文件", "文件已经下载完成", pIntent);
// 4.将 Notification 发给 Manager
nmanager.notify(notificationID++, notification);
} }

Android 开发工具类 16_NotificationActivity的更多相关文章

  1. Android开发工具类

    7种无须编程的DIY开发工具 你知道几个? 现如今,各种DIY开发工具不断的出现,使得企业和个人在短短几分钟内就能完成应用的创建和发布,大大节省了在时间和资金上的投入.此外,DIY工 具的出现,也帮助 ...

  2. android开发工具类之获得WIFI IP地址或者手机网络IP

    有的时候我们需要获得WIFI的IP地址获得手机网络的IP地址,这是一个工具类,专门解决这个问题,这里需要两个权限: <uses-permission android:name="and ...

  3. android开发工具类总结(一)

    一.日志工具类 Log.java public class L { private L() { /* 不可被实例化 */ throw new UnsupportedOperationException ...

  4. Android 开发工具类 35_PatchUtils

    增量更新工具类[https://github.com/cundong/SmartAppUpdates] import java.io.File; import android.app.Activity ...

  5. Android 开发工具类 13_ SaxService

    网络 xml 解析方式 package com.example.dashu_saxxml; import java.io.IOException; import java.io.InputStream ...

  6. Android 开发工具类 06_NetUtils

    跟网络相关的工具类: 1.判断网络是否连接: 2.判断是否是 wifi 连接: 3.打开网络设置界面: import android.app.Activity; import android.cont ...

  7. Android 开发工具类 03_HttpUtils

    Http 请求的工具类: 1.异步的 Get 请求: 2.异步的 Post 请求: 3.Get 请求,获得返回数据: 4.向指定 URL 发送 POST方法的请求. import java.io.Bu ...

  8. Android 开发工具类 19_NetworkStateReceiver

    检测网络状态改变类: 1.注册网络状态广播: 2.检查网络状态: 3.注销网络状态广播: 4.获取当前网络状态,true为网络连接成功,否则网络连接失败: 5.注册网络连接观察者: 6.注销网络连接观 ...

  9. Android 开发工具类 27_多线程下载大文件

    多线程下载大文件时序图 FileDownloader.java package com.wangjialin.internet.service.downloader; import java.io.F ...

随机推荐

  1. authentication 和 authorization

    单词 词性 解释 authentication n. 认证 authentic adj. 真实的 authorization n. 授权 authorise vt. 授权 authentication ...

  2. DUBBO配置规则详解

    研究DUBBO也已经大半年了,对它的大部分源码进行了分析,以及对它的内部机制有了比较深入的了解,以及各个模块的实现.DUBBO包含很多内容,如果想了解DUBBO第一步就是启动它,从而可以很好的使用它, ...

  3. Asp.net mvc验证用户登录之Forms实现

    这里我们采用asp.net mvc 自带的AuthorizeAttribute过滤器验证用户的身份,也可以使用自定义过滤器,步骤都是一样. 第一步:创建asp.net mvc项目, 在项目的App_S ...

  4. notepad++换行替换

  5. hdu 5035 指数分布无后效性

    http://acm.hdu.edu.cn/showproblem.php?pid=5035 n个柜台每个柜台服务的时间都满足指数分布t=p(k),求min(p(k)+t)的期望 指数分布一个有趣的特 ...

  6. C# Timer类

    C# 有三种不同的Timer类 1.Threading.Timer 2.Timer.Timer 3.Forms.Timer using System; using System.Collections ...

  7. C# 调用C++ CLR dll类库时,实现从 string 到 sbyte* 的转换

    问题描述 今天在做项目的时候碰到一个问题,就是用C++编写CLR类库dll的时候,C++的函数参数列表中包含一个char*的输出型参数,然而在C#调用该dll时候,会自动将函数的中的char*参数“翻 ...

  8. 【实战TFS】【QQ群】了解别人是如何使用TFS的

    长时间在这个QQ群里面混,了解到其他人是如何使用TFS系统的,也与网友们一起探讨,共同提高,还有分享的大量资料文档. 推荐一下:):)

  9. 项目笔记---WPF多语言方案

    近期由于朋友邀请帮忙给一个开源的游戏“外挂”做一个I18N的解决方案,恰好也是WPF做的,之前有过相关经验,就忙了一个星期终于搞定了,已经提交给作者了,现在这里做一个分享. 这里分享下我个人Fork的 ...

  10. TempDB--临时表的缓存

    --========================================================================== 在博客园看到一篇文章<SQLServer ...