淺析Android 手機衛(wèi)士設(shè)備管理權(quán)限鎖屏
推薦閱讀:
深入淺析Android手機衛(wèi)士保存密碼時進行md5加密
詳解Android 手機衛(wèi)士設(shè)置向?qū)ы撁?/a>
淺析Android手機衛(wèi)士關(guān)閉自動更新
淺析Android手機衛(wèi)士接收短信指令執(zhí)行相應(yīng)操作
淺析Android手機衛(wèi)士之手機實現(xiàn)短信指令獲取位置
設(shè)備管理員 Device Admin
獲取DevicePolicyManager對象,通過getSystemService(DEVICE_POLICY_MANAGER),設(shè)備策略管理器
調(diào)用DevicePolicyManager對象的lockNow()方法,鎖定,此時會報 安全異常
新建一個類MyAdmin繼承系統(tǒng)的DeviceAdminReceiver,這個是廣播接收者
清單文件進行注冊
添加<receiver>節(jié)點,設(shè)置名稱
設(shè)置權(quán)限 android:permission=”android.permission.BIND_DEVICE_ADMIN”
添加<meta-data>元數(shù)據(jù)節(jié)點,設(shè)置名稱 android:name=”android.app.device_admin”
設(shè)置資源 android:resource=”@xml/device_admin_sample”
在res目錄下新建xml的文件夾,新建一個device_admin_sample.xml文件
添加<intent-filter>節(jié)點,添加動作,android.app.action.DEVICE_ADMIN_ENABLED
此時還會報錯
打開系統(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è)置
卸載軟件
這個裝上就卸載不掉了
調(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 手機衛(wèi)士設(shè)備管理權(quán)限鎖屏的相關(guān)知識,希望對大家有所幫助!
相關(guān)文章
自定義一個theme在不同的sdk環(huán)境下繼承不同的值
可能很多在高版本下編繹apk的同學(xué),可能都曾有和我一樣的困惑,就是如何讓低版本的用戶也能有高版本的體驗?zāi)?/div> 2013-01-01
Android實現(xiàn)沉浸式導(dǎo)航欄實例代碼
通過本文給大家分享android實現(xiàn)沉浸式導(dǎo)航欄實例代碼,代碼非常實用,需要的朋友可以參考下2016-05-05
Android超詳細介紹自定義多選框與點擊按鈕跳轉(zhuǎn)界面的實現(xiàn)
這篇文章主要介紹了在Android開發(fā)中如何來實現(xiàn)自定義多選框以及如何實現(xiàn)點擊按鈕跳轉(zhuǎn)界面的功能,感興趣的朋友快來看看吧2022-03-03
Android 使用selector改變按鈕狀態(tài)實例詳解
這篇文章主要介紹了Android 使用selector改變按鈕狀態(tài)實例詳解的相關(guān)資料,需要的朋友可以參考下2017-01-01
ScrollView與ListView合用(正確計算Listview的高度)的問題解決
最近做項目中用到ScrollView和ListView一起使用的問題,顯示的時候ListView不能完全正確的顯示,查了好多資料終于成功解決:2013-05-05
Android實現(xiàn)按鈕點擊事件的三種方法總結(jié)
Button是程序用于和用戶進行交互的一個重要控件。既然有Button,那肯定有onClick方法,下面就教大家三種實現(xiàn)點擊事件的方法,感興趣的可以了解一下2022-04-04
sweet alert dialog 在android studio應(yīng)用問題說明詳解
這篇文章主要介紹了sweet alert dialog 在android studio應(yīng)用問題說明詳解的相關(guān)資料,本文圖文并茂介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下2016-09-09
詳解如何使用Android Studio 進行NDK開發(fā)和調(diào)試
本篇文章主要介紹了詳解如何使用Android Studio 進行NDK開發(fā)和調(diào)試,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12最新評論

