Android 开发工具类 16_NotificationActivity
在前台运行的 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的更多相关文章
- Android开发工具类
7种无须编程的DIY开发工具 你知道几个? 现如今,各种DIY开发工具不断的出现,使得企业和个人在短短几分钟内就能完成应用的创建和发布,大大节省了在时间和资金上的投入.此外,DIY工 具的出现,也帮助 ...
- android开发工具类之获得WIFI IP地址或者手机网络IP
有的时候我们需要获得WIFI的IP地址获得手机网络的IP地址,这是一个工具类,专门解决这个问题,这里需要两个权限: <uses-permission android:name="and ...
- android开发工具类总结(一)
一.日志工具类 Log.java public class L { private L() { /* 不可被实例化 */ throw new UnsupportedOperationException ...
- Android 开发工具类 35_PatchUtils
增量更新工具类[https://github.com/cundong/SmartAppUpdates] import java.io.File; import android.app.Activity ...
- Android 开发工具类 13_ SaxService
网络 xml 解析方式 package com.example.dashu_saxxml; import java.io.IOException; import java.io.InputStream ...
- Android 开发工具类 06_NetUtils
跟网络相关的工具类: 1.判断网络是否连接: 2.判断是否是 wifi 连接: 3.打开网络设置界面: import android.app.Activity; import android.cont ...
- Android 开发工具类 03_HttpUtils
Http 请求的工具类: 1.异步的 Get 请求: 2.异步的 Post 请求: 3.Get 请求,获得返回数据: 4.向指定 URL 发送 POST方法的请求. import java.io.Bu ...
- Android 开发工具类 19_NetworkStateReceiver
检测网络状态改变类: 1.注册网络状态广播: 2.检查网络状态: 3.注销网络状态广播: 4.获取当前网络状态,true为网络连接成功,否则网络连接失败: 5.注册网络连接观察者: 6.注销网络连接观 ...
- Android 开发工具类 27_多线程下载大文件
多线程下载大文件时序图 FileDownloader.java package com.wangjialin.internet.service.downloader; import java.io.F ...
随机推荐
- DEVEXPRESS 破解方法
Devexpress 是.net的一个非常好用的插件.能够轻松的帮你实现一个非常炫的UI,无论是C#的Winform还是ASP.NET的网站. 鄙人这两天在用DEVEXPRESS的过程中发现在网上并未 ...
- day14(xml 编写及解析)
编写 xml的组成: 1.文档的声明 <?xml version='1.0' encoding='UTF-8' standalone='yes'> xml 表示标签的名字 encoding ...
- (连通图 Tarjan)Caocao's Bridges --HDU --4738
链接: http://acm.hdu.edu.cn/showproblem.php?pid=4738 题目大意:曹操有很多岛屿,然后呢需要建造一些桥梁将所有的岛屿链接起来,周瑜要做的是就是不让曹操将所 ...
- mysql insert 事务相关(草稿)
当 insert 多条语句时初步试了一下是自带事务机制的,如在一个这样的表中: 执行语句 INSERT INTO `t_mytest`(`id`) VALUES (1),(2),(3),(4),(5) ...
- D3_book 11.3 force
<!-- pie example --> <!DOCTYPE html> <meta charset="utf-8"> <style> ...
- springmvc 开涛 数据验证
两种方式:编程和声明. 编程需要:验证器,控制器,servlet.xml,错误码设置 声明需要:加jar包,控制器,跟孔浩讲得类似 错误消息设置的两种方式:硬编码:从资源文件中读取(默认,自定义).
- application cache 应用缓存
这些应用还是要自己实现一遍,否则真不知道哪里会出问题. 客户端: <!DOCTYPE html> <html manifest = 'demo.appcache'> <h ...
- 短URL
短网址应用已经在全国各大微博上开始流行了起来.例如QQ微博的url.cn,新郎的sinaurl.cn等. 我们在QQ微博上发布网址的时候,微博会自动判别网址,并将其转换,例如:http://url.c ...
- DataTable根据字段去重
DataTable根据字段去重 最近需要对datatable根据字段去重,在网上搜了很多,找到了一个方法,代码如下 public static DataTable DistinctSomeColumn ...
- C#treeView控件单击事件选中节点滞后问题解决方法
问题描述:在treeView的Click事件中,选中的节点SelectedNode并不是您刚才点击的节点,总是上一次选中的节点,节点选中滞后的问题. 解决方案:在treeView的MouseDown事 ...