package com.lee.onekeylock; import android.app.Activity; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.os.Bundle; public class MainActivity extends Activity { private static final int REQUEST_CODE = 10000; private DevicePolicyManager policyManager; private ComponentName componentName; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); lockScreen(); } private void lockScreen() { // 获取设备管理服务 policyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); // AdminReceiver 继承自 DeviceAdminReceiver componentName = new ComponentName(this, AdminReceiver.class); boolean active = policyManager.isAdminActive(componentName); if (!active) { // 若无权限 activeManage(componentName);// 去获得权限 } else { policyManager.lockNow();// 直接锁屏 finish(); } } private void activeManage(ComponentName componentName) { Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName); intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "请求锁屏激活,请确认激活才能锁屏!"); startActivityForResult(intent, REQUEST_CODE); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // 获取权限成功,立即锁屏并finish自己,否则继续获取权限 if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) { policyManager.lockNow(); finish(); } else { activeManage(componentName); } super.onActivityResult(requestCode, resultCode, data); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); System.exit(0);// 退出程序 } }
AdminReceiver.java
package com.lee.onekeylock; import android.app.admin.DeviceAdminReceiver; public class AdminReceiver extends DeviceAdminReceiver{}
lock_screen.xml
AndroidManifest.xml
style.xml
以上风格启动的时候不会有一闪的现象。
App下载:OneKeyLock.apk 工程下载:OneKeyLock
收藏的用户(0) X
正在加载信息~
推荐阅读
Thread stack overrun--thread_stack
站点信息
- 文章2300
- 用户1336
- 访客10861715
每日一句
True success inspires others to act.
真正的成功是激励他人行动。
真正的成功是激励他人行动。
语法错误: 意外的令牌“标识符”
全面理解Gradle - 定义Task
Motrix全能下载工具 (支持 BT / 磁力链 / 百度网盘)
谷歌Pixel正在开始起飞?
获取ElementUI Table排序后的数据
Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is
亲测!虚拟机VirtualBox安装MAC OS 10.12图文教程
华为手机app闪退重启界面清空log日志问题
android ndk开发之asm/page.h: not found
手机屏幕碎了怎么备份操作?
免ROOT实现模拟点击任意位置
新手必看修改DSDT教程
thinkpad t470p装黑苹果系统10.13.2
新会员