package com.android.systemuirom.keyguard;

import android.content.Context;
import android.view.Gravity;
import android.view.WindowManager;
import android.widget.Toast; public class KeyguardToast { private static KeyguardToast sInstance;
private Toast mToast = null; public static KeyguardToast getInstance() {
if (sInstance == null) {
sInstance = new KeyguardToast();
}
return sInstance;
} private KeyguardToast() {
// ignore
} public Toast makeText(Context context, CharSequence text, int duration,
boolean needOffsetPosition) {
if (mToast != null) {
mToast.cancel();
mToast = null;
}
mToast = Toast.makeText(context, text, duration); mToast.getWindowParams().type = WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL;
mToast.getWindowParams().privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS;
mToast.getWindowParams().flags |= WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED; // Toast偏移位置
if (needOffsetPosition) {
// set offset position
mToast.setGravity(Gravity.CENTER, 0, -300);
}
return mToast;
} public void cancelToast() {
if (mToast != null) {
mToast.cancel();
mToast = null;
}
}
}

【Android N 7.1.1】 锁屏之上显示Toast的更多相关文章

  1. 锁屏上显示Activity

    在Android中,有些比较强的提醒,需要用户紧急处理的内容.需要唤醒屏幕,甚至在锁定屏幕的情况下,也要显示出来.例如,来电界面和闹钟提醒界面.这是怎样实现的呢? 其实,实现起来非常简单.只要给Act ...

  2. android 闹钟提醒并且在锁屏下弹出Dialog对话框并播放铃声和震动

    android 闹钟提醒并且在锁屏下弹出Dialog对话框并播放铃声和震动            1.先简单设置一个闹钟提醒事件: //设置闹钟 mSetting.setOnClickListener ...

  3. android黑科技系列——修改锁屏密码和恶意锁机样本原理分析

    一.Android中加密算法 上一篇文章已经介绍了Android中系统锁屏密码算法原理,这里在来总结说一下: 第一种:输入密码算法 将输入的明文密码+设备的salt值,然后操作MD5和SHA1之后在转 ...

  4. android中按电源键锁屏然后解锁导致Activity调用onDestory以及如何防止锁屏

    今天在android项目中按电源键锁屏,然后解锁,发现子Activity关闭了,回到了主页,这个问题困扰了我很久,最后打log发现,在按电源键的时候,调用了子Activity的onDestroy()方 ...

  5. Android设备定制为永不锁屏

    Android系统的锁屏时间存放在Setting数据库中,字段为Settings.System.SCREEN_OFF_TIMEOUT.查看 DatabaseHelper.java文件可以找到: fra ...

  6. Android 禁止屏幕休眠和锁屏的方法

    Introduction 常常我们开 发程序的时候我们不需要系统唤醒系统锁屏功能,比如我们在做xxxNowTV或XXX播放器这样的程序,用户有时候在看电视或视频的时候不希望系统的锁屏 功能启动,既不想 ...

  7. [android] 手机卫士设备管理权限锁屏

    设备管理员 Device Admin 获取DevicePolicyManager对象,通过getSystemService(DEVICE_POLICY_MANAGER),设备策略管理器 调用Devic ...

  8. android关闭屏幕时不锁屏实现

    所需权限: <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/> 关闭系统锁屏服务 ...

  9. android 判断是否设置了锁屏密码

    方式1:在小米note手机上测试,只能判断是否设置了图形解锁. android.provider.Settings.System.getInt(getContentResolver(), androi ...

随机推荐

  1. 配置TOMCAT 修改默认ROOT路径

    本文转载http://xxs673076773.iteye.com/blog/1134805 最合适的) 最直接的办法是,删掉tomcat下原有Root文件夹,将自己的项目更名为Root. 我在$to ...

  2. DataGridView使用技巧七:列顺序的调整、操作行头列头的标题

    一.列顺序的调整 设定DataGridView的AllowUserToOrderColumns为True的时候,用户可以自由调整列的顺序. 当用户改变列的顺序的时候,其本身的Index不好改变,但是D ...

  3. mysql 创建新用户并添加权限

    1.添加用户 1.1 添加一个新用户: mysql>grant usage on *.* to " with grant option; 上面这种只支持mysql服务器本地登录. 1. ...

  4. Node.js进程通信模块child_process

    前言 Node.js是一种单线程的编程模型,对Node.js的赞美和诟病的也都是因为它的单线程模型,所有的任务都在一个线程中完成(I/O等例外).单线程模型,不仅让代码非常简洁,更是直接避免了线程调度 ...

  5. CentOS下添加sudo用户

    一 .sodo的使用 1.1 关于sudo Sudo是linux系统中,非root权限的用户提升自己权限来执行某些特性命令的方式,它使普通用户在不知道超级用户的密码的情况下,也可以暂时的获得root权 ...

  6. 【Java NIO的深入研究5】字符集Charset

    Java 语言被定义为基于Unicode.一个字符实体由二个字节表示(如果是用UCS-2).但众多文件和数据流都是基于其它字符编码并以byte传输,操作文件内容就成了一个问题. 操作一个文件首先要对文 ...

  7. thinkphp模板中无法给自定义函数传多个参数

    1.模板的用法 {:function(param1,param2,param3...)} 2.实例 <td>{:getChannelInfo($adminId,$v['sale_id']) ...

  8. iOS 自动编译脚本

    #!/bin/sh #项目路径 PROJECT_DIR="/Users/mac/Desktop/_housemart" #临时项目 PROJECT_TEMP_DIR="/ ...

  9. 动态生成的DOM不会触发onclick事件的原因及解决方法

    最近朋友在做一个项目的时候,遇到动态加载微博内容,然后点击“展开评论”后获取该微博的所有评论.这里使用了动态加载的<span mid='123456789′ class='get_comment ...

  10. 浏览器地址栏中加入ico图标的二种方法

    在你的网页文件之间加入下面代码: 1.在URL地址栏中显示ico 2.在收藏夹中显示ico link href="/favicon.ico" type="image/x- ...