一、程序 导读:本文介绍如何实现对应用加锁的功能,无须root权限 某些人有时候会有这样一种需求,小A下载了个软件,只是软件中的美女过于诱惑与暴露,所以他不想让别人知道这是个什么软件,起码不想让别人打开浏览。而这款软件又没有,任何人都可以打开,肿么办呢?如果打开它的时候需要输入密码,那该多好阿!于是,程序这种应用就产生了 程序不是最近才有的,很久之前android就有这种apk了 这一
synchronized原语和ReentrantLock在一般情况下没有什么区别,但是在非常复杂的同步应用中,请考虑使用ReentrantLock,特别是遇到下面2种需求的时候。 1.某个线程在等待一个的控制权的这段时间需要中断 2.需要分开处理一些wait-notify,ReentrantLock里面的Condition应用,能够控制notify哪个线程 3.具有
程序的原理是一个“看门狗”的服务定时监视顶层activity,如果activity对应的包名是之前上锁的应用程序的,则弹出一个页面要求输入解锁密码,此页面不运行用户按“BACK”键返回,否则便能不输入密码直接进入应用程序了。如果密码输入正确则进入应用程序。创建一个android component,kind为service,类名为:WatchDogService:package com.exam
转载 2024-06-30 16:51:56
43阅读
什么是自旋?自旋(spinlock):是指当一个线程在获取的时候,如果已经被其它线程获取,那么该线程将循环等待,然后不断的判断是否能够被成功获取,直到获取到才会退出循环。获取的线程一直处于活跃状态,但是并没有执行任何有效的任务,使用这种会造成busy-waiting。它是为实现保护共享资源而提出一种机制。其实,自旋与互斥比较类似,它们都是为了解决对某项资源的互斥使用。无论是互
转载 2023-11-28 01:36:14
99阅读
***首先,一个互斥实现什么功能?***一个互斥需要有阻塞和唤醒功能,实现阻塞和唤醒功能需要哪些要素? ①需要有一个标记状态的state变量。 ②需要记录哪个线程持有了。 ③需要有一个队列维护所有的线程。 另外,state和队列中为了实现线程安全都用到了CAS。 有了以上三个条件,可以实现对线程的阻塞和唤醒。***那么,Java中是如何实现一把互斥的?***首先,因为所有的基本都要实
转载 2023-07-26 18:50:01
165阅读
如我们所知,现在有很多牛逼的安全软件都带有程序的功能。当然,名字可能不一样,有的叫隐私保护,有的叫软件。等等。但是这种名字其实都是表达一种意思,就是可以给你手机里面的app加以保护。只有你给你的App设置了程序,这样每次在你进入这个App的时候就要先输入密码,然后才能进入。程序功能并不是什么高大上的技术,也不是很难的技术点。于是,受到灰驹的启发,我就写了一个简单的,UI比较丑陋的程序的小
转载 2023-10-12 15:18:25
142阅读
1.手机里系统自带了个一键屏的app,一时好奇研究了会,终于也实现了。博客也是好久没写了,东西做出来很久了,今天拿出来分享一下扯点别的犊子,大半年都在忙着考研,没时间写博客,也是很惭愧呀,今天抽点时间把箱子翻一翻,看了一眼文件夹,还是还有很多东西能写的,乱系八糟的还有一堆东西做了,还没写过博客记录的。以后晚上回来就多抽时间补一补吧2.不废话了,直接看看效果图吧,不过吧,屏也没什么图能截的,最好
转载 2023-07-27 18:55:20
155阅读
# Android实现互斥 ## 引言 在多线程编程中,互斥(Mutex)是一种非常重要的同步工具,用于确保在同一时间只有一个线程可以访问共享资源。在Android开发中,我们经常需要使用互斥来保护共享数据,以避免竞态条件(Race Condition)和数据不一致的问题。本文将教会你如何在Android应用程序实现互斥。 ## 操作步骤 下面的表格将展示实现互斥的整个流程: |
原创 2024-01-27 07:04:04
49阅读
# Android线程实现 ## 简介 在Android开发中,我们经常会遇到多线程同时访问共享资源的情况,为了保证数据的一致性和安全性,我们需要使用线程机制。本文将介绍如何在Android实现线程。 ## 线程实现流程 下面是线程实现的整个流程: | 步骤 | 描述 | | --- | --- | | 1 | 创建一个共享资源 | | 2 | 定义一个对象 | | 3 |
原创 2023-09-21 18:41:52
93阅读
# Android实现Android手机上,屏是一种常见的安全功能,它可以防止未经授权的访问和使用。Android提供了几种屏方式,例如图案、密码、指纹识别等。本文将介绍如何在Android应用中实现一个简单的图案屏功能。 ## 实现思路 要实现一个图案屏功能,我们需要以下几个步骤: 1. 创建一个自定义的屏界面。 2. 设置屏界面为系统默认的屏界面。 3. 监听
原创 2023-10-01 06:07:47
232阅读
Java对象实例:   对象头:由MarkWord(32位),Class Metadata Address(类的元数据地址,即对象指向它的类的元数据的指针,32位),数组长度(当对象为数组时,32位)。MarkWord:Monitor: 是一个同步工具,内置于每一个对象中的监视器,每个对象都有一个Monitor,相当于一个许可证(),拿到许可证才能访问对象。&nbs
转载 2023-07-03 15:57:27
114阅读
引言不同的之间的语义是不一样的,没有一劳永逸的,只有更适合的。如果是同一进程里的不同线程共享读写,那么读写变量的维护是在进程内部即可。如果是不同进程共享读写,那么读写变量的维护是在共享存储区。读写的分配规则:(1)只要没有线程占用写,那么任意数目的线程都可以持有这个读。(2)只要没有线程占用读写,那么才能为一个线程分配写。读锁相当于一个共享,写i相当于独占。和当初上操
转载 2023-10-18 09:12:04
61阅读
1.synchronized概述:  synchronized修饰的方法或代码块相当于并发中的临界区,即在同一时刻jvm只允许一个线程进入执行。synchronized是通过机制实现同一时刻只允许一个线程来访问共享资源的。另外synchronized机制还可以保证线程并发运行的原子性,有序性,可见性。2.synchronized的原理:  我们先通过反编译下面的代码来看看Synchronize
转载 2023-07-25 16:29:56
192阅读
Android一键屏与抬手亮屏的实.介绍最近由于项目需要开发语音控制相关的功能,需要用语音来实现屏和唤醒屏幕的功能,所以顺便就想开发一个“一键屏”的App。主要是我用的手机那个双击亮屏使用起来太麻烦了,而且又不想按电源键。(主要是因为太穷了,买不起手机O(∩_∩)O哈哈~)..实现一主要是基于 DeviceAdminReceiver,安卓的设备管理器来实现一键屏的功能.1. 创建Adm
转载 2023-07-23 16:58:24
210阅读
        很久很久才发现,自己手机软件中没有自带一键屏的功能,害怕电源键寿命太短,于是就去市场下了一个解决这个需求,到最后发现这些软件中都有广告或者捆绑有插件,一怒之下就自己做了一个一键屏。其实感觉实现起来不是很困难,由于目前技术存在缺陷,还不不知道怎么更改Framwork层做到应用保活,目前跑在性能稍微差些
# Android 系统开发应用程序实现指南 在日常生活中,我们常常需要保护个人隐私,这时候一个应用程序显得尤为重要。本文将引导你完成一个简单的 Android 应用程序的开发,适合入门级开发者。以下是整个开发流程的概览。 ## 开发流程概述 | 步骤 | 描述 | |------|------| | 1 | 创建 Android 项目 | | 2 | 添加必要的权限
原创 9月前
359阅读
           Android 5.1 和6.0的屏和以往的版本相比发生了很大变化,同时增加了新的特性:屏上显示通知。另一方面,Keyguard  不在是独立的apk和systemUI 合并,做成了systemUI的一个lib ,如下Android.mk可以说明Android 4.4 --SystemUI--Andro
最近忙着跳槽,跑来移动后的第一个项目就是做android定制的屏模块。目前已经差不多了,就缺UI工程师的图片了。在这里给大家讲讲我做的这个。先画张图吧不知道大家看了这图恶心不,反正我恶心了,呵呵。还是回正题吧首先从左边看吧,由上而下。1,第一个ScreenReceiver是作为屏的入口。接收系统开机和屏幕关闭开启广播,根据设置中保存是否可以屏来启动屏服务。2,ScreenService作为
这两天在搞一个屏的小玩意儿,由于时间比较紧,先着重于功能实现,未能从源代码上分析,以下是一些个人的认识与总结,不足或错误之处,还请各位看官批评指正。1.屏页的本质:Activity,只不过在该Activity上,屏蔽了Home键及Back键的响应,只有当用户解锁的时候才可以进入下一个界面,一般是Launcher界面。当然用户解锁的方式可以是滑动解锁,可以是密码解锁,完全在于自己对该屏界面的设
        这两天在搞一个屏的小玩意儿,由于时间比较紧,先着重于功能实现,未能从源代码上分析,以下是一些个人的认识与总结,不足或错误之处,还请各位看官批评指正。1.屏页的本质:Activity,只不过在该Activity上,屏蔽了Home键及Back键的响应,只有当用户解锁的时候才可以进入下一个界面,一般是Launcher界面。当然用户解锁的方式可以
  • 1
  • 2
  • 3
  • 4
  • 5