进度条监听
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
public void ccclick(View view) {
//设置通知
final NotificationManager systemService = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
final Notification.Builder builder = new Notification.Builder(this);
//设置点击删除
builder.setAutoCancel(true);
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setContentTitle("Shaw");
//设置如同QQ一样的提示通知
builder.setPriority(Notification.PRIORITY_MAX);
builder.setDefaults(Notification.DEFAULT_ALL);
//设置进度条
final Timer timer = new Timer();
//开启timer监听
timer.schedule(new TimerTask() {
int process;
//进入子线程
@Override
public void run() {
builder.setContentText("正在下载" + process);
//设置最大值
builder.setProgress(100, process, false);
//每次调用加十
process += 10;
//开启设置
Notification build = builder.build();
systemService.notify(123, build);
//判断如果下载完成
if (process == 100) {
//进行模糊安装
builder.setContentText("正在安装");
//安装模糊
builder.setProgress(0, 0, true);
//设置开启通知
systemService.notify(123, builder.build());
try {
//暂停五秒,设置模糊监听
Thread.sleep(5000);//模拟安装过程
} catch (InterruptedException e) {
e.printStackTrace();
}
//3.安装完成
systemService.cancel(123);//取消置顶的通知
timer.cancel();
}
}
}, 0, 1000);
//设置开启通知
systemService.notify(123, builder.build());
}
双击关闭
@Override
//开启keydown监听
public boolean onKeyDown(int keyCode, KeyEvent event) {
//判断是否是退出
if (keyCode == KeyEvent.KEYCODE_BACK) {
//判断是否两次点击在2秒之内
if (System.currentTimeMillis() - ettime > 2000) {
Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show();
ettime = System.currentTimeMillis();
return true;
}
//结束当前activity
else {
finish();
}
}
return super.onKeyDown(keyCode, event);
}