转载请标明出处http://blog.csdn.net/mingyue_1128

一、首先要创建一个Service保证Service一直开启,同时不被一键清理掉。

二、屏蔽掉系统的锁屏

三、创建锁屏的Activity,在Activity中屏蔽掉back,menu,home键

四、保证自己的进程不在最近任务中出现

一、创建一个Service名字为LockService

public class LockService extends Service{private KeyguardManager km;private KeyguardLock kk;private BroadcastReceiver broadcastReceiver=new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent arg1) {Log.e("-----可以跳到锁屏界面--------", "---------");Intent intent=new Intent(context,LockActivity.class);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);}};@Overridepublic IBinder onBind(Intent arg0) {return null;}@Overridepublic void onStart(Intent intent, int startId) {super.onStart(intent, startId);//服务里面收到关闭屏幕的动作就发送广播IntentFilter iFilter=new IntentFilter(Intent.ACTION_SCREEN_OFF);this.registerReceiver(broadcastReceiver, iFilter);}@Overridepublic void onCreate() {super.onCreate();//屏蔽掉系统的锁屏km=(KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);kk=km.newKeyguardLock("");kk.disableKeyguard();}@Overridepublic void onDestroy() {super.onDestroy();}}

在Service中与他合作的还有一个广播,当监听到屏幕关的时候,service就会发送广播,使屏幕开的时候为自己锁屏界面

三、锁屏界面中屏蔽掉menu,home,back

public class LockActivity extends Activity{private  static final int FLAG_HOMEKEY_DISPATCHED = 0x80000000;private Button btn_open;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);this.getWindow().setFlags(FLAG_HOMEKEY_DISPATCHED, FLAG_HOMEKEY_DISPATCHED);//关键代码 setContentView(R.layout.activity_main);//解锁的按钮btn_open=(Button) findViewById(R.id.open);btn_open.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {finish();}});}@SuppressWarnings("static-access")@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if(keyCode==event.KEYCODE_BACK){return true;}if(keyCode==event. KEYCODE_HOME){return true;}if(keyCode == KeyEvent.KEYCODE_MENU) {//MENU键//监控/拦截菜单键return true;}     return super.onKeyDown(keyCode, event);}
}

保证自己的锁屏程序不在最近进程中出现,只需要在注册锁屏界面的Activity时,添加一个属性android:excludeFromRecents="true",如下

       <activity android:name="com.mm.wallpaper.LockActivity"android:launchMode="singleInstance"android:excludeFromRecents="true"><intent-filter><category android:name="android.intent.category.LAUNCHER" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity>

四、我们需要看一下主界面怎么处理

public class MainActivity extends Activity {MyBroadcast receiveBroadCast;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//注册广播receiveBroadCast = new MyBroadcast();IntentFilter filter = new IntentFilter();filter.addAction("action"); // 只有持有相同的action的接受者才能接收此广播registerReceiver(receiveBroadCast, filter);//发送广播Intent intent=new Intent();intent.setAction("action");this.sendBroadcast(intent);}public class MyBroadcast extends BroadcastReceiver{@Overridepublic void onReceive(Context context, Intent intent) {KeyguardManager km = (KeyguardManager)context.getSystemService(Context.KEYGUARD_SERVICE);KeyguardLock kk = km.newKeyguardLock("");kk.disableKeyguard();//开始服务Intent service=new Intent();service.setClass(context,LockService.class);//稍后再定义context.startService(service);}}@Overrideprotected void onDestroy() {// TODO Auto-generated method stubsuper.onDestroy();unregisterReceiver(receiveBroadCast);}}

在这里我们需要注册一个广播保证服务的开启

在配置清单中MainActivity需要多一个属性来保证程序始终在

   <category android:name="android.intent.category.HOME"/>

整个的流程大概如此,希望对想做解锁软件的朋友有所帮助。

android锁屏软件制作相关推荐

  1. Android 锁屏软件MemoryDebris测试报告

    目 录 项目基本信息. 1 第1章         引言 1.1        编写目的 1.2        项目背景 1.3        参考资料 1.4        术语和缩略语 第2章   ...

  2. Android 锁屏软件

    一款锁屏软件app,直接上代码: 先顶一个一个服务,用来管理服务 package com.alva.system.myapp;import android.app.admin.DeviceAdminR ...

  3. Android锁屏软件

    需求描述:锁屏软件就是点击应用然后直接锁屏,不会弹出任何界面 设计思路:应用启动以后通过getSystemService获取系统的服务,调用安卓系统的DevicePolicyManager和Compo ...

  4. android锁屏软件屏蔽状态栏下拉

    1.做锁屏软件,锁屏软件具体界面的实现不说,在屏蔽通知栏下拉的时候就出现问题了.网上找了一些资料,可以通过statusbarmanager这个类来实现,由于这个类是系统隐藏的,所以我们很容易就想到使用 ...

  5. android 锁屏软件的软件的开机自启动

    最近在搞锁屏软件,一个问题是如何在用户关机的情况下,开机后让自己的锁屏软件优先级到最高,也就是说手机启动时自己的软件是第一个启动的, 查了查 需要root权限. 做个记号.梯子:点击打开链接

  6. android锁屏软件开发,Android一键锁屏开发全过程

    一.项目简介: 项目:<Android 一键锁屏> 开发周期:4天 代码量:100行 二.项目流程: 三.项目代码 1.主程序代码: 1.private DevicePolicyManag ...

  7. android 魔力锁屏,锁屏软件横评:锁屏功能PK_Android软件合辑_软件合辑_太平洋电脑网PConline...

    三.功能设置 GO锁屏:除了以上两个评测项目设计的设置之外,GO锁屏还可以设置开启锁屏提示音.解锁提示音及解锁震动.在设置中可以设置锁屏开启或关闭. 其他功能设置 魔力锁屏:魔力锁屏可以启用音量键唤醒 ...

  8. 基于Android实现的锁屏软件APP

    源码及论文下载:http://www.byamd.xyz/tag/android/ 一.概述 1.1 选题背景 首先现在各种安卓的游戏和APP充斥应用市场,但是创意还是有的. 首先,锁屏软件虽然不是一 ...

  9. android锁屏壁纸软件,Cutisan app下载

    Cutisan app是一款适用于安卓手机端的锁屏壁纸制作应用,将图片制作成独特风格的锁屏和桌面壁纸,满足个性与心情,可根据喜好修改背景.高度.圆角等,后续还将推出多种风格的样式.感兴趣的朋友快来下载 ...

最新文章

  1. 运用jieba库分词
  2. 论文 | 图像和谐化公开数据集:让前景和背景更“般配”
  3. MDT2012部署系列之10 Win7镜像捕获与系统安装
  4. qdialog 返回值_python-PyQt QDialog返回响应是或否
  5. hive读取hdfs存放文件_数据获取层之Flume快速入门(一) 实时监控单个追加文件
  6. Python问题记录:如何处理中文网页中的多余空格
  7. 文件上传~Uploadify上传控件~续(多文件上传)
  8. Java中int为什么占四个字节?
  9. iview兼容ie8_iview在ie9及以上的兼容问题解决方案__Vue.js__JavaScript__前端__iView
  10. Cocos2d-x-使用脚本概述
  11. c语言课程信息系统排序学分_您可以免费访问具有实际大学学分的400多种在线课程
  12. C语言知识点总结(完美版)
  13. 【信息系统项目管理师】第十六章 变更管理思维导图
  14. N1小钢炮下载系统-系统的安装及使用-篇一
  15. openg 通用扫描画线算法
  16. 登录模块 用户认证 SpringSecurity +Oauth2+Jwt
  17. Win7系统怎么用笔记本做wifi热点?
  18. PUM-main makefile报错 #error -- unsupported GNU version gcc versions later than 6 are not supported
  19. 知识图谱与图神经网络_biji
  20. 【TrailHead】Create a test harness app and component

热门文章

  1. 为什么说人机融合智能就是强人工智能?
  2. laya 旋转开关 关节约束
  3. Python基础教程读书笔记(第1章—第2章:基础知识、列表和元组)
  4. 薅羊毛时间版第十一次更新
  5. 2023年吉尔吉斯斯坦签证办理指南
  6. ICL 7107 仿真
  7. 一图让你秒懂——中国数据库的40年江湖 ​​​​
  8. 狐猴浏览器:支持扩展的安卓浏览器
  9. 1443卡片—蓝桥杯
  10. 计算机浮点数规格化表示