<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" > <Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="139dp"
android:onClick="lockScreen"
android:text="一键锁屏" /> <Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/button1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="63dp"
android:onClick="activeAdmin"
android:text="激活设备管理器" /> <Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button1"
android:layout_centerHorizontal="true"
android:layout_marginTop="46dp"
android:onClick="unInstall"
android:text="卸载程序" /> <Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/button3"
android:layout_below="@+id/button3"
android:layout_marginTop="44dp"
android:onClick="clearData"
android:text="清除数据" /> </RelativeLayout>

清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.itheima52.admin"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" /> <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.itheima52.admin.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity> <!-- <string name="sample_device_admin_description">有了超级设备管理器,可以一键锁屏,清除数据等等</string>
<string name="sample_device_admin">超级设备管理器</string> -->
<receiver
android:name=".AdminReceiver"
<!--
import android.app.admin.DeviceAdminReceiver;
public class AdminReceiver extends DeviceAdminReceiver {
}
-->
android:description="@string/sample_device_admin_description" receive的描述
android:label="@string/sample_device_admin" receive的说明
android:permission="android.permission.BIND_DEVICE_ADMIN" > 权限
<meta-data
android:name="android.app.device_admin"
android:resource="@xml/device_admin_sample" /> 需要的xml文件,表示有哪些功能
<!--
res/xml/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>
-->
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
</application>
</manifest>
package com.itheima52.admin;

import android.app.Activity;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
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 mDPM;//用来锁频,激活密码,清楚数据,先要激活设备管理器
private ComponentName mDeviceAdminSample;// 设备管理组件,用来激活设备管理器 @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);// 获取设备策略服务
mDeviceAdminSample = new ComponentName(this, AdminReceiver.class);// 设备管理组件 // mDPM.lockNow();// 立即锁屏
// finish();
} // 激活设备管理器, 也可以在设置->安全->设备管理器中手动激活(要使用超级设备管理器就要先激活设备管理器)。
public void activeAdmin(View view) {
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,mDeviceAdminSample);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"哈哈哈, 我们有了超级设备管理器, 好NB!");
startActivity(intent);
} // 一键锁屏
public void lockScreen(View view) {
if (mDPM.isAdminActive(mDeviceAdminSample)) {// 判断设备管理器是否已经激活
mDPM.lockNow();// 立即锁屏,调用lockNow(),先要激活设备管理器
mDPM.resetPassword("123456", 0);//激活密码,先要激活设备管理器
} else {
Toast.makeText(this, "必须先激活设备管理器!", Toast.LENGTH_SHORT).show();
}
} public void clearData(View view) {
if (mDPM.isAdminActive(mDeviceAdminSample)) {// 判断设备管理器是否已经激活
mDPM.wipeData(0);// 清除数据,恢复出厂设置
} else {
Toast.makeText(this, "必须先激活设备管理器!", Toast.LENGTH_SHORT).show();
}
} public void unInstall(View view) {
mDPM.removeActiveAdmin(mDeviceAdminSample);// 取消设备管理权限 // 卸载程序
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivity(intent);
}
}

最新文章

  1. SQL Server 2016 JSON原生支持实例说明
  2. 漂亮的CSS按钮样式集以及在线生成工具
  3. windows下运行的linux服务器批量管理工具(带UI界面)
  4. paip.2013年技术趋势以及热点 v2.0 cae
  5. hdu 2844 poj 1742 Coins
  6. josn 转php
  7. 《JavaScript 闯关记》之变量和数据类型
  8. BZOJ 1221: [HNOI2001] 软件开发(最小费用最大流)
  9. Scala学习---映射和元祖
  10. angular 2 animate 笔记
  11. 开博近一年的感想 by 程序员小白
  12. thinkphp5路由心得
  13. 【SSL】OV、DV和EV证书的区别
  14. Javascript的算法题目
  15. 20145208 蔡野 《网络对抗》免考项目 MSF学习
  16. python 爬虫利器 Beautiful Soup
  17. DOM confirm setTimeout url刷新
  18. 大数据入门第二十五天——elasticsearch入门
  19. Ext学习系列(1)初识Ext
  20. DocumentFragment 不支持 innerHTML

热门文章

  1. BZOJ2542: [Ctsc2001]终极情报网
  2. RPi 2B GPIO 测试
  3. 【转】protobuf2.5.0在&lt;delete [] elements_;&gt;crash的问题。
  4. js返回上一页并刷新的多种方法
  5. [转] C# Winform 拦截关闭按钮触发的事件
  6. HDU 3642 Get The Treasury 线段树+分层扫描线
  7. e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (四) Q 反回调
  8. jquery选择器返回值
  9. wuzhicms 查看模板中的所有可用变量和值
  10. Mysql的函数使用方法