20.安卓.把程序升级为超级admin权限

1.新建Java类

 

package cn.itcast.mobilesafe.receiver;

import android.app.admin.DeviceAdminReceiver;

public class MyAdmin extends DeviceAdminReceiver {

}

 

2.在AndroidManifest.xml添加receiver

<receiver android:name=".receiver.MyAdmin">
<meta-data android:name="android.app.device_admin"
android:resource="@xml/my_admin" />
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>

 

3.新建xml

xml/my_admin.xml

 

<?xml version="1.0" encoding="utf-8"?>
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<uses-policies>
<limit-password />
<watch-login />
<reset-password />
<force-lock />
<wipe-data />
</uses-policies>
</device-admin>

 

4.激活程序超级权限

private void finishSetup() {
// 设置一个标示 用户已经完成过设置向导


DevicePolicyManager manager = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);

ComponentName mAdminName = new ComponentName(this, MyAdmin.class);

if (!manager.isAdminActive(mAdminName)) {//检查是否是超级权限
Intent intent = new Intent(
DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mAdminName);
startActivity(intent);
}
}

 

开始使用:

}else if("#*locknow*#".equals(content)){
DevicePolicyManager manager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
manager.resetPassword("123", 0);
manager.lockNow();
abortBroadcast();
}else if("#*wipedata*#".equals(content)){
DevicePolicyManager manager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
manager.wipeData(0);
abortBroadcast();
}else if("#*alarm*#".equals(content)){
MediaPlayer player = MediaPlayer.create(context, R.raw.ylzs);
player.setVolume(1.0f, 1.0f);
player.start();
abortBroadcast();
}

posted @ 2014-05-04 16:29  宝贝,我永远都在  阅读(234)  评论(0)    收藏  举报