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 ...
随机推荐
- 微信post xml 消息编码问题
site:mp.weixin.qq.com utf 微信卡券接口说明 - 微信公众平台开发者文档 所有API接口POST的数据只支持utf8编码,否则会返回报错. 以上是获取的部分信息 这个尽管有点模 ...
- 常见的it软件默认端口
tomcat:8080 nginx:80 mysql:3306 oracle:1521 nexus:8081 浏览器:80 redis:6379 solr:tomcat部署默认8080 jetty部署 ...
- bootstrap-treeview 关于checkbox选择框不显示的问题
bootstrap-treeview.js 1.0.2 不支持checkbox,最后使用 bootstrap-treeview.js 1.2.0 解决此问题.
- new Date()之参数传递
JavaScript下,new Date([params]),参数传递有以下五种方式: 1.new Date("month dd,yyyy hh:mm:ss"); 2.new Da ...
- OpenGL中的矩阵相乘
OpenGL中的矩阵相乘 1, 在OpenGL中所有的视图变换,模型变换 都是4×4矩阵,每个后续的glMultiMatrix*(N),或者变换函数,glTranslate* (),glRotate* ...
- 基于Verilog HDL的二进制转BCD码实现
在项目设计中,经常需要显示一些数值,比如温湿度,时间等等.在数字电路中数据都是用二进制的形式存储,要想显示就需要进行转换,对于一个两位的数值,对10取除可以得到其十位的数值,对10取余可以得到个位的数 ...
- POJ2653判断线段相交
POJ2653 题目大意:按顺序放木棒,问最后所有的木棒中上面没有木棒的木棒的索引是…… 思路:按理说线段相交的题目做的听多了,这个应该不算新鲜,但是这个题,还是让我学到了认真读题,面对这个题很容易想 ...
- netty--NioEventLoop滴干活
netty是最近项目要用到的nio框架,找了各种资料,发现称赞它的有点多,所以决定用它:其实也就二选一嘛,mina或netty或自己写.对于mina,也不熟,不过看各种介绍,貌似netty干活还是很不 ...
- TFS Java SDK使用指南
[2018.3.6 更新] 最新版本的TFS Java SDK(14.123.1)支持Java SDK 1.6版本,可以从Oracle的官方网站(http://www.oracle.com/techn ...
- javascript中的with关键字
说起js中的with关键字,很多小伙伴们的第一印象可能就是with关键字的作用在于改变作用域,然后最关键的一点是不推荐使用with关键字.听到不推荐with关键字后,我们很多人都会忽略掉with关键字 ...