Android实现一键锁屏功能
更新时间:2022年10月23日 10:50:31 作者:Frank_dev
这篇文章主要介绍了Android实现一键锁屏,在xml中创建device_admin.xml,在manifest中加入详细文件,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
android实现一键锁屏
创建AdminReceiver
import android.app.admin.DeviceAdminReceiver; public class AdminReceiver extends DeviceAdminReceiver { }
在xml中创建device_admin.xml
<?xml version="1.0" encoding="utf-8"?> <device-admin xmlns:android="http://schemas.android.com/apk/res/android" > <uses-policies> <force-lock /> </uses-policies> </device-admin>
在manifest中加入
<receiver android:name=".AdminReceiver" android:permission="android.permission.BIND_DEVICE_ADMIN" android:exported="false"> <meta-data android:name="android.app.device_admin" android:resource="@xml/device_admin" /> <intent-filter> <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /> </intent-filter> </receiver>
最后MainActivity
import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.os.Process; import android.os.SystemClock; public class MainActivity extends AppCompatActivity { private ComponentName componentName; private void activeManager() { //使用隐式意图调用系统方法来激活指定的设备管理器 Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName); intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "一键锁屏"); startActivity(intent); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActionBar actionBar = getSupportActionBar(); actionBar.hide(); new Thread(new Runnable() { @Override public void run() { DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); componentName = new ComponentName(getApplicationContext(), AdminReceiver.class); if (dpm.isAdminActive(componentName)) {//判断是否有权限(激活了设备管理器) dpm.lockNow();// 直接锁屏 //杀死当前应用 Process.killProcess(Process.myPid()); } else { activeManager();//激活设备管理器获取权限 } } }).start(); } }
到此这篇关于Android实现一键锁屏的文章就介绍到这了,更多相关android一键锁屏内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Android Studio配置Kotlin开发环境详细步骤
这篇文章主要介绍了Android Studio配置Kotlin开发环境详细步骤的相关资料,需要的朋友可以参考下2017-05-05Android判断NavigationBar是否显示的方法(获取屏幕真实的高度)
有些时候,我们需要知道当前手机上是否显示了NavigationBar,也就是屏幕底部的虚拟按键。这篇文章主要介绍了Android判断NavigationBar是否显示的方法(获取屏幕真实的高度),需要的朋友可以参考下本文2017-01-01Flutter开发setState能否在build中直接调用详解
这篇文章主要为大家介绍了Flutter开发setState能否在build中直接调用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-10-10
最新评论