android锁屏实现
① 安卓手机怎么设置锁屏密码
若使用的是vivo手机,设置锁屏密码可参考以下路径:
OriginOS/Funtouch OS 3.0/iQOO (Monster) UI及以上系统设置锁屏密码
1、进入设置--“指纹、面部与密码”/“指纹与密码”/“面搜伏部与密码”中,设置密保问题,选择“开启锁屏密码”即可设置锁屏密码;
2、锁屏密码默认设置为6位数字密码,点击“其他密码类型/密码选项”可以选择“图案密纳漏搭码”、“4位数字密码”、“4-16位数字密码”、“混合密码”;
Funtouch OS 3.0以下系统设置锁屏密码
1、进入设置-- “安全”/“指纹与密码”--屏幕锁定--选择“图案”或“密码”即可;
2、洞拿部分机型是进入设置--更多设置--安全,选择“密码”是输入4位数字密码,不能选择设置6位数字密码。
② android 程序如何实现熄灭屏幕
一. 前言
我们的Android应用程序很多需要和亮屏和熄屏打交道,比如闹钟的时候,需要保持亮屏,之后又需要熄屏。那么今天,我们来分析下这方面的功能。
二. 系统服务 --- PowerManager.java
顾名思义,PowerManager.java就是管理我们电源方面的功能的,当然也包括我们屏幕的亮和熄灭。没错,我们的应用程序就是通过这个系统服务来实现亮屏和熄屏的功能的。
1. 应用程序获取PowerManager服务, 我们可以这样书写:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
因为PowerManager是系统服务,所以它的生命周期不是应用程序所能控制的;应用程序只能通过系统,向系统请求获取PowerManager服务,然后系统把这个服务的应用给我们。
2. goToSleep()方法, 这个方法可以强制我们的屏幕熄屏。我们可以这样调用:
在上面拿到pm对象之后,这样调用 pm.goToSleep(SystemClock.uptimeMillis());
3. setBacklightBrightness()方法,这个方法可以设置背光的亮度,从0-255
三. 定时熄灭屏幕
那么这里,还可以介绍一个控制屏幕的方法就是PowerManager.WakeLock
顾名思义,WakeLock这个东西就是亮屏控制,这里说的亮屏,它定义了几种类型的亮屏。如下:
类型 cpu 屏幕 键盘
PARTIAL_WAKE_LOCK on off off
SCREEN_DIM_WAKE_LOCK on dim off
SCREEN_BRIGHT_WAKE_LOCK on Bright off
FULL_WAKE_LOCK on Bright Bright
由于它定义了这么多类型,每种类型可以指定相对应的部件工作和不工作。那么我们就可以利用这些类型,从最细粒度来控制我们的屏幕,控制我们的电源,从而让我们的电源工作时间尽可能的延长(大家都知道,智能手机的电池问题是一个硬伤, 每天一充电,有木有? 别人说用安卓手机的男人都是顾家好男人,因为他每天晚上都要回家充电。。^^).
好的,好的,闲话不扯,继续。。。
怎么使用这个WakeLock呢?我们可以这样写:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "TAG");
wakeLock.acquire();
//做我们的工作,在这个阶段,我们的屏幕会持续点亮
//释放锁,屏幕熄灭。
wl.release();
那么这里我们也可以这样使用,就是多少时间后熄灭屏幕
首先点亮屏幕
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "TAG");
wakeLock.acquire();
然后
mTimeHandler.postDelayed(new Runnable(){
public void run(){
wakeLock.release();
}
}, 10*1000);
嗯,延迟10s后熄灭屏幕。。。。
那么,这里要注意的是acquire()和release()要成对调用哦!也就是说,你申请了亮屏,过段时间,你要是释放它。
③ android怎么实现我要学霸的强制锁屏功能
android 手机 debug版本(即开发版本,不是发出去生产的版本)
数据线
方法/步骤
我这里介绍的方式是针对手机系统是debug版本的,因为生产版本不让用户自己修改系统的一些参数
先上代码解释清楚原理,点击power按钮,系统会发消息给KeyguardViewMediator,然后消息传递给KeyguardViewManager,然后会掉用show方法,来显示锁屏。具体的创建锁屏view又会调用maybeCreateKeyguardLocked方法,现在来具体看下这个方法
这个方法里的lp.screenOrientation = enableScreenRotation ? ActivityInfo.SCREEN_ORIENTATION_USER : ActivityInfo.SCREEN_ORIENTATION_NOSENSOR;就是在设置锁屏横竖屏。如果enableScreenRotation为true则屏幕根据用户拿手机方式自感应。false反之。我们在这里就是想让enableScreenRotation为true,这样锁屏才能横屏
进一步就看boolean enableScreenRotation = shouldEnableScreenRotation();然后具体看这个shouldEnableScreenRotation方法。容易看到具体的true或者false是根据lockscreen.rot_override和config_enableLockScreenRotation决定的。只要其中一个为true,enableScreenRotation的值就为true。然而config_enableLockScreenRotation的值通过查找为false,这样就需要我们修改lockscreen.rot_override的值为true,来实现目的
但是搜索整个framework代码发现,只有get此值的地方,没有set的地方。后来再看发现,此值是个SystemProperties,于是通过adb shell setprop lockscreen.rot_override也没有找到此系统参数。最后推测谷歌原生代码,并未对此参数进行设置,这也就解释了为什么不能横屏,因为shouldEnableScreenRotation一直返回的值为false。
好了原理就是这样。我们怎么实现横屏呢?就是想发放将lockscreen.rot_override设为true。
首先打开cmd 窗口,adb root 获得手机root权限。adb remount,获得写权限。adb shell setprop lockscreen.rot_override true
ok,大功告成,看效果
④ android中怎样调用系统的锁屏功能
要先注册为admin的。相关代码:
mAdminName = new ComponentName(this, MyAdmin.class);
//
public static class MyAdmin extends DeviceAdminReceiver {
// implement onEnabled(), onDisabled(), …
public void onEnabled(Context context, Intent intent) {
Log.d(LOG_TAG, "MyAdmin enabled");
}
public void onDisabled(Context context, Intent intent) {
Log.d(LOG_TAG, "MyAdmin disabled");
}
}
//第一次启动会让你手动去确认
if (!mDPM.isAdminActive(mAdminName)) {
// try to become active – must happen here in this activity,
// to get
// result
Intent intent = new Intent(
DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
mAdminName);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
"Additional text explaining why this needs to be added.");
startActivityForResult(intent, 1);
}
//Receiver手动在AndroidManifest.xml里面注册一下
其中添加
<meta-data android:name="android.app.device_admin"
android:resource="@xml/my_admin" />
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
还有android:permission="android.permission.BIND_DEVICE_ADMIN"
最后:在res下建立/xml/my_admin.xml,内容如下
<?xml version="1.0" encoding="utf-8"?>
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<uses-policies>
<limit-password />
<watch-login />
<reset-password />
<force-lock />
<wipe-data />
</uses-policies>
</device-admin>
代码的意思在这边就不详细介绍了。如果你写成功的话就一切都明白了。
⑤ 安卓手机如何自动锁屏
安卓手机自动锁屏方法
第一步
打开手机桌面上的【设置/设定】
第二步
向下滑动,选择【更多设置】
第三步
选择底部的【自动锁屏】
第四步
选择锁屏的时间。(个人推荐30秒或者1分钟)
⑥ android开发 怎样锁屏并设置解锁密码
Android设置锁屏密码的方法:
1.首先,需要找到系统自带应用设置。
通过以上步骤轻松给android手机设置锁屏密码。