• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > [android] 手机卫士设备管理权限锁屏,android锁屏

[android] 手机卫士设备管理权限锁屏,android锁屏

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android360手机卫士,android手机安全卫士,android手机卫士,android360卫士,android360安全卫士等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

[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);
    }
}

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android 手机卫士17--缓存清理,android17--
  • Android 手机卫士13--进程设置,android13--
  • Android 手机卫士10--应用管理器,android10--
  • Android 手机卫士8--删除通话记录,android8--
  • Android 手机卫士--导航界面4的业务逻辑,android卫士
  • Android 手机卫士--平移动画实现,android卫士
  • Android 手机卫士--获取联系人信息并显示与回显,android回显
  • Android 手机卫士--参照文档编写选择器,android选择器
  • Android 手机卫士--导航界面2,android卫士
  • Android 手机卫士--设置界面&amp;功能列表界面跳转逻辑处理,android卫士--界面

相关文章

  • 2017-05-26Android开发:14个解决实际问题的代码片段
  • 2017-05-26Androidstudio中导入内部依赖模块总结,androidstudio模块
  • 2017-05-26Android Studio安装指南及genymotion配置
  • 2017-05-26弧形菜单(Android),弧形菜单android
  • 2017-05-26Android捕获崩溃异常,Android捕获崩溃
  • 2017-05-26Android 高仿华为手机Tab页滑动导航效果
  • 2017-05-26Android Studio 优秀插件(二): Parcelable Code Generator,androidparcelable
  • 2017-05-26如何处理 android 方法总数超过 65536 . the number of method references in a .dex file exceed 64k,android.dex
  • 2017-05-26NDK中使用pthread多线程中自己写的一个BUG,ndkpthread
  • 2017-05-26Android 几种消息推送方案总结,android方案

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • java.lang.IllegalArgumentException: Illegal character in query at index 261,
    • Android Studio 之 注释模板,androidstudio
    • Android SDK 镜像,androidsdk镜像
    • 《转》深入理解Activity启动流程(一)–Activity启动的概要流程,《转》activity
    • Android SDK 与API版本对应关系,androidsdk
    • App字体大小不随系统改变而改变,
    • Android 退出app,后台推送的服务也停止了,怎么可以做到不停止后台服务呢?,androidapp
    • android View绘制源码分析
    • Android中的自定义控件(二),android自定义控件
    • 安卓自定义组合控件--toolbar,安卓控件--toolbar

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有