android锁屏软件制作
来源:互联网 发布:奥巴马医改利弊 知乎 编辑:程序博客网 时间:2024/06/10 04:03
转载请标明出处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"/>
整个的流程大概如此,希望对想做解锁软件的朋友有所帮助。
2 1
- android锁屏软件制作
- android锁屏软件制作
- android 制作天气预报软件
- Android图片海报制作软件开发实践
- Android实战制作简易天气预报软件
- android 动画制作小软件GifMaker
- Android软件新手引导页面制作
- Java 制作抓屏软件
- Java 制作截屏软件
- android 锁屏软件的软件的开机自启动
- 网页制作辅助软件
- VCD菜单制作软件
- 软件界面制作途径
- 课件制作软件
- 流程图制作软件
- 公文制作阅读软件
- 外挂制作软件
- 大福门家谱制作软件
- android 媒体库数据更新解决办法总结
- 幸福本就简单
- 微信百度天气查询
- C#中方法Show和ShowDialog的使用区别
- android 修改 system 目录下的文件
- android锁屏软件制作
- Java程序员的10道XML面试题
- 快速更新MAGENT产品价格
- SQL Server中的窗口函数
- 黑马程序员--反射的理解应用
- unity3d优化IOS
- intel dpdk在ubuntu12.04中测试testpmd、helloworld程序
- MongoDB 学习(-) 安装
- 健康卧室床头别放5样东西