Notification通知
Notification通知在app的中实际应用较广泛
代码:
NotificationManager manager= (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
Notification.Builder builder = new Notification.Builder(this);
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setContentTitle("我是标题");
builder.setContentText("我是内容");
builder.setTicker("我是提示信息");
builder.setContentInfo("我是附加信息");
//参数一 id 通知的id 参数二 通知对象
manager.notify(1,builder.build());
builder.setProgress(100,progress,false);
实例化NotificationManager对象
实例化Notification.Builder 对象
setSamllIcon-----设置小图标该属性必须设置
setContentTitle----设置标题
setContentText----设置内容
setTicker----设置提示信息
setContentInfo----设置附加对象
notify----刷新通知
进度条通知:
final Timer timer=new Timer();
timer.schedule(new TimerTask() {
int progress;
@Override
public void run() {
builder.setContentText("正在下载,当前进度"+progress);
builder.setProgress(100,progress,false);
progress+=10;
manager.notify(6,builder.build());
if(progress==100){
builder.setContentText("正在安装");
builder.setProgress(0,0,true);
manager.notify(6,builder.build());
try {
Thread.sleep(7000);
} catch (InterruptedException e) {
e.printStackTrace();
}
manager.cancel(6);
timer.cancel();
handler.sendEmptyMessage(12);
}
}
}, 0, 1000);
setProgress-----设置进度条—参数3为是否为模糊进度条
cancel----取消相应id的通知
需要模拟安装过程
所以使用计时器来实现每一秒加十格进度
最后安装完成对于进度条模糊
然后等待两秒,完成操作
使用handler来实现吐司发送安装完成
实现双击退出:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
long secondTime = System.currentTimeMillis();
if (secondTime - firstTime > 2000) {
Toast.makeText(KeyEventActivity.this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
firstTime = secondTime;
return true;
} else{
}
}
return super.onKeyDown(keyCode, event);
}
重写onKeyDown 方法
原理:获取两次点击时间,然后比较,再进行退出