admin管理员组文章数量:1536095
DevicePolicyManager 类:设备策略管理器 安全设备
使用这个API你可以接管手机的应用权限,对手机做出很多大胆的操作,比如锁屏、恢复出厂设置、设置密码、强制清除密码,修改密码、设置屏幕灯光渐暗时间间隔等操作。首先,要想调用DevicePolicyManager,那么我们必须先要注册一个admin,如何注册呢,也是需要通过代码去注册。有了admin权限,我们才可能对系统进行上述功能的操作。
其次,程序在启动激活的时候,会给用户相应提示,只有当用户点击“激活”后,我们的代码才能真正的运转。
1:调用以及授权操作
package com.arch.onekeylockscreen;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private Button btnLock;
private DevicePolicyManager mDPM;
private ComponentName mDeviceAdminSample;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDeviceAdminSample = new ComponentName(this, LockReceiver.class);
//设备政策管理器
mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
btnLock = (Button) findViewById(R.id.btnLock);
btnLock.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mDPM.isAdminActive(mDeviceAdminSample)) {
mDPM.lockNow();//锁屏
//mDPM.resetPassword("666666", 0);//重置密码 空即无密码
//mDPM.wipeData(0);//恢复出厂设置,0改为1可清除手机和sd卡的数据
//mDPM.removeActiveAdmin(mDeviceAdminSample);//设置为非激活状态
} else {
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "一键锁屏");
startActivity(intent);
}
}
});
}
}
2:创建 广播类LockReceiver继承DeviceAdminReceiver
package com.arch.onekeylockscreen;
import android.app.admin.DeviceAdminReceiver;
import android.content.Context;
import android.content.Intent;
public class LockReceiver extends DeviceAdminReceiver {
public LockReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
}
}
3:配置LockReceiver广播接收者,用于监听权限的变化
<receiver android:name=".LockReceiver"
android:permission="android.permission.BIND_DEVICE_ADMIN">
<meta-data android:name="android.app.device_admin"
android:resource="@xml/device_admin" />
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
4:在res下新建目录xml
5:在xml目录下,添加文件device_admin,表示可以管理的权限清单
<?xml version="1.0" encoding="utf-8"?>
<device-admin xmlns:android="http://schemas.android/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>
版权声明:本文标题:android 一键锁屏更改密码恢复出厂设置 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1725959009a1050673.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论