Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 淺析Android 手機衛士設備管理權限鎖屏

淺析Android 手機衛士設備管理權限鎖屏

編輯:關於Android編程

推薦閱讀:

淺析Android手機衛士sim卡綁定

深入淺析Android手機衛士保存密碼時進行md5加密

詳解Android 手機衛士設置向導頁面

淺析Android手機衛士關閉自動更新

淺析Android手機衛士自定義控件的屬性

淺析Android手機衛士讀取聯系人

淺析Android手機衛士接收短信指令執行相應操作

淺析Android手機衛士手機定位的原理

淺析Android手機衛士之手機實現短信指令獲取位置

設備管理員 Device Admin

獲取DevicePolicyManager對象,通過getSystemService(DEVICE_POLICY_MANAGER),設備策略管理器

調用DevicePolicyManager對象的lockNow()方法,鎖定,此時會報 安全異常

新建一個類MyAdmin繼承系統的DeviceAdminReceiver,這個是廣播接收者

清單文件進行注冊

添加<receiver>節點,設置名稱

設置權限 android:permission=”android.permission.BIND_DEVICE_ADMIN”

添加<meta-data>元數據節點,設置名稱 android:name=”android.app.device_admin”

設置資源 android:resource=”@xml/device_admin_sample”

在res目錄下新建xml的文件夾,新建一個device_admin_sample.xml文件

添加<intent-filter>節點,添加動作,android.app.action.DEVICE_ADMIN_ENABLED

此時還會報錯

打開系統設置,找到設備管理器,勾選設備管理員權限,激活設備

開啟管理員權限

獲取Intent對象,new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN)

調用Intent對象putExtra(),傳遞數據,要激活的組件,

參數:DevicePolicyManager.EXTRA_DEVICE_ADMIN,ComponentName組件名對象

獲取ComponentName對象,new出來,參數:上下文,Myadmin.class

調用Intent對象putExtra(),傳遞解說數據,勸說用戶開啟,參數:

DevicePolicyManager.EXTRA_ADD_EXPLANATION,文本

調用startActivity()

調用DevicePolicyManager對象的isAdminActive()方法,可以判斷是否有管理員權限,參數:ComponentName對象

調用DevicePolicyManager對象的resetPassword()方法,重置密碼,參數:password,0,把password設置為””可以取消密碼

調用DevicePolicyManager對象的wipeData()方法,清除數據,參數:清除sd卡DevicePlocyManager.WIPE_EXTERANL_STORGE

如果是0,就是恢復出廠設置

卸載軟件

這個裝上就卸載不掉了

調用DevicePolicyManager對象的removeActiveAdmin()方法,清除管理員權限,參數:ComponentName組件名對象,獲取ComponentName對象,new出來,參數:上下文,Myadmin.class

獲取Intent對象

調用Intent對象的setAction()方法,設置動作,參數:android.intent.action.VIEW

調用Intent對象的addCategory()添加類型,參數:android.intent.category.DEFAULT

調用Intent對象的setData(),設置數據,

參數:Uri對象,獲取Uri對象Uri.parse(“package:”+getPackageName())

調用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, "沒有設備管理權限", 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 手機衛士設備管理權限鎖屏的相關知識,希望對大家有所幫助!

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved