淺析Android 手機(jī)衛(wèi)士設(shè)備管理權(quán)限鎖屏
推薦閱讀:
深入淺析Android手機(jī)衛(wèi)士保存密碼時(shí)進(jìn)行md5加密
詳解Android 手機(jī)衛(wèi)士設(shè)置向?qū)ы撁?/a>
淺析Android手機(jī)衛(wèi)士關(guān)閉自動(dòng)更新
淺析Android手機(jī)衛(wèi)士自定義控件的屬性
淺析Android手機(jī)衛(wèi)士讀取聯(lián)系人
淺析Android手機(jī)衛(wèi)士接收短信指令執(zhí)行相應(yīng)操作
淺析Android手機(jī)衛(wèi)士手機(jī)定位的原理
淺析Android手機(jī)衛(wèi)士之手機(jī)實(shí)現(xiàn)短信指令獲取位置
設(shè)備管理員 Device Admin
獲取DevicePolicyManager對(duì)象,通過getSystemService(DEVICE_POLICY_MANAGER),設(shè)備策略管理器
調(diào)用DevicePolicyManager對(duì)象的lockNow()方法,鎖定,此時(shí)會(huì)報(bào) 安全異常
新建一個(gè)類MyAdmin繼承系統(tǒng)的DeviceAdminReceiver,這個(gè)是廣播接收者
清單文件進(jìn)行注冊(cè)
添加<receiver>節(jié)點(diǎn),設(shè)置名稱
設(shè)置權(quán)限 android:permission=”android.permission.BIND_DEVICE_ADMIN”
添加<meta-data>元數(shù)據(jù)節(jié)點(diǎn),設(shè)置名稱 android:name=”android.app.device_admin”
設(shè)置資源 android:resource=”@xml/device_admin_sample”
在res目錄下新建xml的文件夾,新建一個(gè)device_admin_sample.xml文件
添加<intent-filter>節(jié)點(diǎn),添加動(dòng)作,android.app.action.DEVICE_ADMIN_ENABLED
此時(shí)還會(huì)報(bào)錯(cuò)
打開系統(tǒng)設(shè)置,找到設(shè)備管理器,勾選設(shè)備管理員權(quán)限,激活設(shè)備
開啟管理員權(quán)限
獲取Intent對(duì)象,new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN)
調(diào)用Intent對(duì)象putExtra(),傳遞數(shù)據(jù),要激活的組件,
參數(shù):DevicePolicyManager.EXTRA_DEVICE_ADMIN,ComponentName組件名對(duì)象
獲取ComponentName對(duì)象,new出來,參數(shù):上下文,Myadmin.class
調(diào)用Intent對(duì)象putExtra(),傳遞解說數(shù)據(jù),勸說用戶開啟,參數(shù):
DevicePolicyManager.EXTRA_ADD_EXPLANATION,文本
調(diào)用startActivity()
調(diào)用DevicePolicyManager對(duì)象的isAdminActive()方法,可以判斷是否有管理員權(quán)限,參數(shù):ComponentName對(duì)象
調(diào)用DevicePolicyManager對(duì)象的resetPassword()方法,重置密碼,參數(shù):password,0,把password設(shè)置為””可以取消密碼
調(diào)用DevicePolicyManager對(duì)象的wipeData()方法,清除數(shù)據(jù),參數(shù):清除sd卡DevicePlocyManager.WIPE_EXTERANL_STORGE
如果是0,就是恢復(fù)出廠設(shè)置
卸載軟件
這個(gè)裝上就卸載不掉了
調(diào)用DevicePolicyManager對(duì)象的removeActiveAdmin()方法,清除管理員權(quán)限,參數(shù):ComponentName組件名對(duì)象,獲取ComponentName對(duì)象,new出來,參數(shù):上下文,Myadmin.class
獲取Intent對(duì)象
調(diào)用Intent對(duì)象的setAction()方法,設(shè)置動(dòng)作,參數(shù):android.intent.action.VIEW
調(diào)用Intent對(duì)象的addCategory()添加類型,參數(shù):android.intent.category.DEFAULT
調(diào)用Intent對(duì)象的setData(),設(shè)置數(shù)據(jù),
參數(shù):Uri對(duì)象,獲取Uri對(duì)象Uri.parse(“package:”+getPackageName())
調(diào)用startActivity()
device_admin_sample.xml
<device-admin xmlns:android="http://schemas.android.com/apk/res/android"> <uses-policies> <limit-password /> <watch-login /> <reset-password /> <force-lock /> <wipe-data /> <expire-password /> <encrypted-storage /> <disable-camera /> </uses-policies> </device-admin>
package com.tsh.mylockscreen;
import android.app.Activity; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Toast; public class MainActivity extends Activity { private DevicePolicyManager dpm; ComponentName who; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE); who=new ComponentName(this, MyAdmin.class); } // 一鍵鎖屏 public void lockScreen(View v) { if (dpm.isAdminActive(who)) { dpm.lockNow(); dpm.resetPassword("123", 0); } else { Intent intent =new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, who); intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"快開啟吧"); startActivity(intent); Toast.makeText(this, "沒有設(shè)備管理權(quán)限", 1).show(); } } //一鍵卸載 public void uninstall(View v) { dpm.removeActiveAdmin(who); Intent intent=new Intent(); intent.setAction(Intent.ACTION_DELETE); intent.addCategory("android.intent.category.DEFAULT"); intent.setData(Uri.parse("package:"+getPackageName())); startActivity(intent); } }
以上所述是小編給大家介紹的Android 手機(jī)衛(wèi)士設(shè)備管理權(quán)限鎖屏的相關(guān)知識(shí),希望對(duì)大家有所幫助!
相關(guān)文章
Android開發(fā)中父組件調(diào)用子組件方法demo
這篇文章主要為大家介紹了Android開發(fā)中父組件調(diào)用子組件方法demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12Android刮刮卡實(shí)現(xiàn)原理與代碼講解
這篇文章主要為大家詳細(xì)介紹了Android刮刮卡實(shí)現(xiàn)原理、實(shí)現(xiàn)原理步驟以及代碼講解,感興趣的小伙伴們可以參考一下2016-04-04Android10 分區(qū)存儲(chǔ)的適配規(guī)則
Android設(shè)備 在Sdk29己以上推出了分區(qū)存儲(chǔ),類似iOS沙箱。應(yīng)用App 目標(biāo)版本號(hào)為29或以上則需要適配分區(qū)存儲(chǔ),本文將具體的講解適配規(guī)則2021-05-05Android實(shí)現(xiàn)動(dòng)態(tài)高斯模糊效果
在Android開發(fā)中常常會(huì)用到高斯模糊,但有的時(shí)候我們可能會(huì)需要一個(gè)圖片以不同的模糊程度展現(xiàn)出來,那如何實(shí)現(xiàn)呢,一起通過本文來學(xué)習(xí)學(xué)習(xí)吧。2016-08-08Android和iOS 測(cè)試五個(gè)最好的開源自動(dòng)化工具
本文主要介紹Android和iOS 五個(gè)最好的開源自動(dòng)化工具,這里整理了相關(guān)資料,希望能幫助測(cè)試軟件的朋友,有需要的看下2016-09-09獲取控件大小和設(shè)置調(diào)整控件的位置XY示例
我需要的設(shè)置控件相對(duì)屏幕左上角的X 、Y位置,而不是自己本身位置的偏移,下面與大家介紹下怎么獲取設(shè)置控件的信息2013-06-06Android圖片上傳實(shí)現(xiàn)預(yù)覽效果
這篇文章主要介紹了Android圖片上傳實(shí)現(xiàn)預(yù)覽效果的相關(guān)資料,需要的朋友可以參考下2016-01-01