Android开发之开门狗在程序锁中的应用实例
2016-02-19 10:18
721 查看
protected static final String TAG = "WatchDogService"; private AppLockDao dao; private List<String> lockApps; private ActivityManager am; private Intent lockappintent; @Override public IBinder onBind(Intent intent) { return null; } /** * 服务第一次被调用的时候调用 的方法 */ @Override public void onCreate() { super.onCreate(); dao = new AppLockDao(this); //得到所用的要锁定的应用程序 lockApps = dao.getAllPackName(); am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); lockappintent = new Intent(this,LockScreenActivity.class); lockappintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); new Thread(){ public void run() { while(true){ try { //得到当前正在运行应用程序的报名 //返回系统里的任务栈的信息,taskInfos只有一个元素,对应当前正在运行的应用程序 List<RunningTaskInfo> taskInfos = am.getRunningTasks(1); RunningTaskInfo currentTask = taskInfos.get(0); //获取当前用户可见的Activity所在的程序的包名 String packName = currentTask.topActivity.getPackageName(); Log.i(TAG, "当前运行的程序包名:"+packName); if(lockApps.contains(packName)){//锁定 lockappintent.putExtra("packname", packName); startActivity(lockappintent); }else{//放行 } sleep(200); } catch (Exception e) { e.printStackTrace(); } } }; }.start(); }
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android通信方式总结》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories