淺析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)閉自動更新
淺析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對象,通過getSystemService(DEVICE_POLICY_MANAGER),設(shè)備策略管理器
調(diào)用DevicePolicyManager對象的lockNow()方法,鎖定,此時(shí)會報(bào) 安全異常
新建一個(gè)類MyAdmin繼承系統(tǒng)的DeviceAdminReceiver,這個(gè)是廣播接收者
清單文件進(jìn)行注冊
添加<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),添加動作,android.app.action.DEVICE_ADMIN_ENABLED
此時(shí)還會報(bào)錯(cuò)
打開系統(tǒng)設(shè)置,找到設(shè)備管理器,勾選設(shè)備管理員權(quán)限,激活設(shè)備
開啟管理員權(quán)限
獲取Intent對象,new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN)
調(diào)用Intent對象putExtra(),傳遞數(shù)據(jù),要激活的組件,
參數(shù):DevicePolicyManager.EXTRA_DEVICE_ADMIN,ComponentName組件名對象
獲取ComponentName對象,new出來,參數(shù):上下文,Myadmin.class
調(diào)用Intent對象putExtra(),傳遞解說數(shù)據(jù),勸說用戶開啟,參數(shù):
DevicePolicyManager.EXTRA_ADD_EXPLANATION,文本
調(diào)用startActivity()
調(diào)用DevicePolicyManager對象的isAdminActive()方法,可以判斷是否有管理員權(quán)限,參數(shù):ComponentName對象
調(diào)用DevicePolicyManager對象的resetPassword()方法,重置密碼,參數(shù):password,0,把password設(shè)置為””可以取消密碼
調(diào)用DevicePolicyManager對象的wipeData()方法,清除數(shù)據(jù),參數(shù):清除sd卡DevicePlocyManager.WIPE_EXTERANL_STORGE
如果是0,就是恢復(fù)出廠設(shè)置
卸載軟件
這個(gè)裝上就卸載不掉了
調(diào)用DevicePolicyManager對象的removeActiveAdmin()方法,清除管理員權(quán)限,參數(shù):ComponentName組件名對象,獲取ComponentName對象,new出來,參數(shù):上下文,Myadmin.class
獲取Intent對象
調(diào)用Intent對象的setAction()方法,設(shè)置動作,參數(shù):android.intent.action.VIEW
調(diào)用Intent對象的addCategory()添加類型,參數(shù):android.intent.category.DEFAULT
調(diào)用Intent對象的setData(),設(shè)置數(shù)據(jù),
參數(shù):Uri對象,獲取Uri對象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)知識,希望對大家有所幫助!
相關(guān)文章
Android開發(fā)中父組件調(diào)用子組件方法demo
這篇文章主要為大家介紹了Android開發(fā)中父組件調(diào)用子組件方法demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
Android刮刮卡實(shí)現(xiàn)原理與代碼講解
這篇文章主要為大家詳細(xì)介紹了Android刮刮卡實(shí)現(xiàn)原理、實(shí)現(xiàn)原理步驟以及代碼講解,感興趣的小伙伴們可以參考一下2016-04-04
Android實(shí)現(xiàn)動態(tài)高斯模糊效果
在Android開發(fā)中常常會用到高斯模糊,但有的時(shí)候我們可能會需要一個(gè)圖片以不同的模糊程度展現(xiàn)出來,那如何實(shí)現(xiàn)呢,一起通過本文來學(xué)習(xí)學(xué)習(xí)吧。2016-08-08
Android和iOS 測試五個(gè)最好的開源自動化工具
本文主要介紹Android和iOS 五個(gè)最好的開源自動化工具,這里整理了相關(guān)資料,希望能幫助測試軟件的朋友,有需要的看下2016-09-09
獲取控件大小和設(shè)置調(diào)整控件的位置XY示例
我需要的設(shè)置控件相對屏幕左上角的X 、Y位置,而不是自己本身位置的偏移,下面與大家介紹下怎么獲取設(shè)置控件的信息2013-06-06
Android圖片上傳實(shí)現(xiàn)預(yù)覽效果
這篇文章主要介紹了Android圖片上傳實(shí)現(xiàn)預(yù)覽效果的相關(guān)資料,需要的朋友可以參考下2016-01-01

