30开启管理员权限&&一键锁屏&&卸载应用
来源:互联网 发布:现值 终值 计算 软件 编辑:程序博客网 时间:2024/06/05 03:59
布局如下:
<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" tools:context=".MainActivity" > <Button android:onClick="openAdmin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开启管理员权限" /> <Button android:onClick="lockscreen" android:layout_centerInParent="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="一键锁屏" /> <Button android:onClick="uninstall" android:layout_alignParentBottom="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="卸载软件" /></RelativeLayout>
新建一个MyAdmin类,让其继承自:DeviceAdminReceiver,本类是一个Receiver
MainActivity的各个方法:
package com.dy.ustc.lockdemo;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; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE); } /** * 代码开启管理员的权限 * * @param view */ public void openAdmin(View view){ Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); //我要激活谁 ComponentName mDeviceAdminSample = new ComponentName(this, MyAdmin.class); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample); //提示用户开启管理员的权限 intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"开启可以一键锁屏!"); startActivity(intent); } /** * 锁屏 * * @param view */ public void lockscreen(View view){ ComponentName who = new ComponentName(this,MyAdmin.class); if (dpm.isAdminActive(who)) {dpm.lockNow();//锁屏dpm.resetPassword("", 0);//设置屏蔽密码dpm.wipeData(DevicePolicyManager.WIPE_EXTERNAL_STORAGE);//清除sd卡的数据dpm.wipeData(0);//恢复出厂设置}else {Toast.makeText(this, "还没有开启管理的权限!", 1).show();return;} } /** * 卸载当前的应用 * * @param view */ public void uninstall(View view){ //1.先清除管理员的权限 ComponentName mDeviceAdminSample = new ComponentName(this, MyAdmin.class); dpm.removeActiveAdmin(mDeviceAdminSample); //2.普通应用的卸载 Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); intent.addCategory("android.intent.category.DEFAULT"); intent.setData(Uri.parse("package:" + getPackageName())); startActivity(intent); }}
这些建立在得到设备管理器服务的基础之上,然后在res下新建xml文件夹,新建一个xml文件,文件内容如下,这个xml在AndroidMenifest清单文件上用的到:
<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>
<receiver android:name="com.dy.ustc.lockdemo.MyAdmin" android:permission="android.permission.BIND_DEVICE_ADMIN" > <meta-data android:name="android.app.device_admin" android:resource="@xml/device_admin_sample" /> <intent-filter> <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /> </intent-filter> </receiver>
效果图:
0 0
- 30开启管理员权限&&一键锁屏&&卸载应用
- Win8 管理员权限卸载程序
- 通过点击事件开启,分享,卸载应用
- linux下开启管理员权限的文件管理器
- Vista当前目录开启管理员权限命令行
- 管理员权限
- 管理员权限
- windows7系统中开启超级管理员权限(administrator)
- nginx 安装 卸载 开启ssl
- 手机卫士 一键锁屏(获得管理员权限)
- iOS卸载应用
- Android 监听应用卸载
- Android应用卸载器
- 卸载win10应用
- 卸载win10应用
- adb 命令卸载应用
- Android命令行卸载应用
- Android 卸载某个应用
- What's VPC (by quqi99)
- Bugtraq ID:71333 PoC
- Java基本功练习六(一维数组强化练习[优惠券收集人问题、模式识别、数组元素次数统计])
- iOS自定义弹出视图,以及简单的手势讲解
- C# 串口操作系列(2) -- 入门篇,为什么我的串口程序在关闭串口时候会死锁 ?
- 30开启管理员权限&&一键锁屏&&卸载应用
- 黑马程序员Android学习笔记——金山卫士项目——第二天
- C# 串口操作系列(3) -- 协议篇,二进制协议数据解析
- VISIO,不规则封闭图形填充方法
- mybatis“集合嵌套查询”和“集合嵌套结果”两种方法实现数据库一对多关系
- 比赛日程安排
- uva10154(DP叠乌龟)
- 网页中播放flv视频
- 操作系统学习