android中device Admin 应用-------就是获得手机的超级用户权限
2013-10-14 23:14
337 查看
1.创建 MyAdmin 的广播接受者 继承 DeviceAdminReceiver
<receiver android:name=".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>
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>
2.获取IDevicePolicyManager
Method method = Class.forName("android.os.ServiceManager")
.getMethod("getService", String.class);
IBinder binder = (IBinder) method.invoke(null,
new Object[] { Context.DEVICE_POLICY_SERVICE });
mService = IDevicePolicyManager.Stub.asInterface(binder);
3.注册广播接受者为admin设备
ComponentName mAdminName = new ComponentName(this, MyAdmin.class);
if (mService != null) {
if (!mService.isAdminActive(mAdminName)) {
Intent intent = new Intent(
DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra
(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
mAdminName);
startActivity(intent);
}
}
<receiver android:name=".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>
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>
2.获取IDevicePolicyManager
Method method = Class.forName("android.os.ServiceManager")
.getMethod("getService", String.class);
IBinder binder = (IBinder) method.invoke(null,
new Object[] { Context.DEVICE_POLICY_SERVICE });
mService = IDevicePolicyManager.Stub.asInterface(binder);
3.注册广播接受者为admin设备
ComponentName mAdminName = new ComponentName(this, MyAdmin.class);
if (mService != null) {
if (!mService.isAdminActive(mAdminName)) {
Intent intent = new Intent(
DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra
(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
mAdminName);
startActivity(intent);
}
}
相关文章推荐
- android 用户应用使用系统权限如reboot的permission办法 包括顺利安装到手机上INSTALL_FAILED_INVALID_INSTALL_LOCATION
- Android:获得应用拥有的权限
- centos 普通用户获得sudo超级权限
- Android应用获取用户最高权限
- 为什么Android手机应用安装数量比WP用户少?和Android恶意软件野蛮生长有很大关系!
- 【Android体验】从用户角度看,Android手机/应用应该要这样:
- Android应用APK获得/data目录的读写权限
- 转:如何获得Android手机Root权限
- Android获得手机所有应用(非系统)、正在运行的Service和Activity
- Android用户apk如何获得系统(system)权限
- Android中应用程序如何获得系统应用才能获取的权限
- Android中获得应用的权限信息
- MIT开发应用为Android手机增添超级计算能力
- android获得手机上应用的图标、应用名、包名
- 如何获得Android手机Root权限(转http://www.gphans.com/forum/183)
- 立波权限检测:普及android手机permission的科普应用(souapp.com搜应用网推荐)
- Android项目实战--手机卫士22--卸载和分享功能的完成以及用户及系统应用的切换
- 转发:如何获得Android手机Root权限
- Android 获得一个应用的权限
- 【Android】应用获取用户最高权限