
前言本文主要介绍了关于android实现一键锁屏和一键卸载的相关内容分享出来供大家参考学习这两个功能也是大家在开发中会遇到的两个需求下面话不多说了来一起看看详细的介绍吧。一.设备管理器操作步骤1.创建类DeviceAdminReceiver的子类如com.itheima62.lockscreen.DeviceAdminSample2.在清单文件中配置广播接收者receiverandroid:namecom.itheima62.lockscreen.DeviceAdminSampleandroid:descriptionstring/sample_device_admin_descriptionandroid:labelstring/sample_device_adminandroid:permissionandroid.permission.BIND_DEVICE_ADMINmeta-dataandroid:nameandroid.app.device_adminandroid:resourcexml/device_admin_sample/intent-filteraction android:nameandroid.app.action.DEVICE_ADMIN_ENABLED//intent-filter/receiver3.配置字符串相关信息string nameactivity_sample_device_admin设备管理员/stringstring namesample_device_admin管理员/stringstring namesample_device_admin_description开启设备管理员不开启扣2000块/string4.在res目录下创建xml文件夹在该文件夹下创建device_admin_sample.xml文件内容device-admin xmlns:androidhttp://schemas.android.com/apk/res/androiduses-policieslimit-password/watch-login/reset-password/force-lock/wipe-data/expire-password/encrypted-storage/disable-camera//uses-policies/device-admin5.在代码中创建设备管理器和组件dpm(DevicePolicyManager)getSystemService(DEVICE_POLICY_SERVICE);ComponentName whonewComponentName(this,DeviceAdminSample.class);6.写功能dpm.lockNow();一键锁屏二.源代码创建类DeviceAdminReceiver的子类packagecom.example.suoping;importandroid.app.admin.DeviceAdminReceiver;publicclassDeviceAdminSampleextendsDeviceAdminReceiver{}MainActivitypackagecom.example.suoping;importandroid.app.Activity;importandroid.app.admin.DevicePolicyManager;importandroid.content.ComponentName;importandroid.content.Intent;importandroid.os.Bundle;importandroid.view.Menu;importandroid.view.View;publicclassMainActivityextendsActivity{privateDevicePolicyManager dpm;OverrideprotectedvoidonCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);//setContentView(R.layout.activity_main);dpm(DevicePolicyManager)getSystemService(DEVICE_POLICY_SERVICE);lockScreen(null);}/** * param v * 一键锁屏 */publicvoidlockScreen(View v){//如果没有激活设备管理员提醒给用户做事ComponentName whonewComponentName(this,DeviceAdminSample.class);if(dpm.isAdminActive(who)){dpm.lockNow();//一键锁屏finish();}else{Intent intentnewIntent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,who);intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,设备管理器);startActivityForResult(intent,1);}}OverridepublicbooleanonCreateOptionsMenu(Menu menu){getMenuInflater().inflate(R.menu.main,menu);returntrue;}}RemoveActivitypackagecom.example.suoping;importandroid.app.Activity;importandroid.app.admin.DevicePolicyManager;importandroid.content.ComponentName;importandroid.content.Intent;importandroid.net.Uri;importandroid.os.Bundle;importandroid.view.View;publicclassRemoveActivityextendsActivity{OverrideprotectedvoidonCreate(Bundle savedInstanceState){// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);remove(null);}/** * 一键卸载 * param v */publicvoidremove(View v){// 取消激活设备管理DevicePolicyManager dpm(DevicePolicyManager)getSystemService(DEVICE_POLICY_SERVICE);ComponentName whonewComponentName(this,DeviceAdminSample.class);dpm.removeActiveAdmin(who);//取消激活管理设备//卸载Intent removenewIntent(android.intent.action.DELETE);remove.addCategory(android.intent.category.DEFAULT);remove.setData(Uri.parse(package:getPackageName()));startActivity(remove);//卸载用户apk的界面}}布局文件MainActivity.xmlRelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:background#00000000/RelativeLayoutRemoveActivity.xmlRelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:background#00000000/RelativeLayoutAndroidManifest.xml?xml version1.0encodingutf-8?manifest xmlns:androidhttp://schemas.android.com/apk/res/androidpackagecom.example.suopingandroid:versionCode1android:versionName1.0uses-sdkandroid:minSdkVersion8android:targetSdkVersion18/applicationandroid:allowBackuptrueandroid:icondrawable/ic_launcherandroid:themestyle/AppThemeactivityandroid:namecom.example.suoping.MainActivityandroid:label一键锁屏intent-filteraction android:nameandroid.intent.action.MAIN/category android:nameandroid.intent.category.LAUNCHER//intent-filter/activityactivityandroid:namecom.example.suoping.RemoveActivityandroid:label一键卸载intent-filteraction android:nameandroid.intent.action.MAIN/category android:nameandroid.intent.category.LAUNCHER//intent-filter/activityreceiverandroid:namecom.example.suoping.DeviceAdminSampleandroid:descriptionstring/sample_device_admin_descriptionandroid:labelstring/sample_device_adminandroid:permissionandroid.permission.BIND_DEVICE_ADMINmeta-dataandroid:nameandroid.app.device_adminandroid:resourcexml/device_admin_sample/intent-filteraction android:nameandroid.app.action.DEVICE_ADMIN_ENABLED//intent-filter/receiver/application/manifestdevice_admin_sample.xmldevice-admin xmlns:androidhttp://schemas.android.com/apk/res/androiduses-policieslimit-password/watch-login/reset-password/force-lock/wipe-data/expire-password/encrypted-storage/disable-camera//uses-policies/device-adminstrings.xmlresourcesstring nameapp_name一键锁屏/stringstring nameaction_settingsSettings/stringstring namehello_worldHello world!/stringstring nameactivity_sample_device_admin设备管理员/stringstring namesample_device_admin管理员/stringstring namesample_device_admin_description开启设备管理员不开启扣2000块/string/resources总结以上就是这篇文章的全部内容了希望本文的内容对大家的学习或者工作具有一定的参考学习价值如果有疑问大家可以留言交流谢谢大家对ZaLou.Cn的支持。更多Android进阶指南 可以扫码 解锁《Android十大板块文档》1.Android车载应用开发系统学习指南附项目实战2.Android Framework学习指南助力成为系统级开发高手3.2023最新Android中高级面试题汇总解析告别零offer4.企业级Android音视频开发学习路线项目实战附源码5.Android Jetpack从入门到精通构建高质量UI界面6.Flutter技术解析与实战跨平台首要之选7.Kotlin从入门到实战全方面提升架构基础8.高级Android插件化与组件化含实战教程和源码9.Android 性能优化实战360°全方面性能调优10.Android零基础入门到精通高手进阶之路敲代码不易关注一下吧。ღ( ´ᴗ )