首页 > 安卓培训/ 正文
如何设置Android设备管理器勾选不能取消?自己最近在学习Android过程中,下载了一个Demo尽然不能取消设备管理器,也不能卸载。自己猛一想这是如何实现的?
首先AndroidManifest.xml:
Xml代码
<receiver
android:name="com.dean.autosetting.DeviceMyReceiver"
android:description="@string/description"
android:label="@string/app_name"
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" />
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
DeviceMyReceiver.java
Java代码
package com.dean.autosetting;
import android.app.admin.DeviceAdminReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.util.Log;
import android.widget.Toast;
public class DeviceMyReceiver extends DeviceAdminReceiver {
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
// Intent i = new Intent(context, MainActivity.class);
// i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// context.startActivity(i);
Log.e("autosetting", "receiver onReceive");
}
/**
* 获取设备存储的数值
*
* @param context
* @return
*/
public static SharedPreferences getDevicePreference(Context context) {
return context.getSharedPreferences(DeviceMyReceiver.class.getName(), 0);
}
// 密码的特点
public static String PREF_PASSWORD_QUALITY = "password_quality";
// 密码的长度
public static String PREF_PASSWORD_LENGTH = "password_length";
public static String PREF_MAX_FAILED_PW = "max_failed_pw";
void showToast(Context context, CharSequence text) {
Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
}
@Override
public void onEnabled(Context context, Intent intent) {
showToast(context, "设备管理:可用");
}
@Override
public void onDisabled(Context context, Intent intent) {
showToast(context, "设备管理:不可用");
}
@Override
public CharSequence onDisableRequested(Context context, Intent intent) {
// 这里处理 不可编辑设备。
Intent intent2 = new Intent(context, NoticeSetting.class);
intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent2);
context.stopService(intent);// 是否可以停止
return ""; // "这是一个可选的消息,警告有关禁止用户的请求";
}
@Override
public void onPasswordChanged(Context context, Intent intent) {
showToast(context, "设备管理:密码己经改变");
}
@Override
public void onPasswordFailed(Context context, Intent intent) {
showToast(context, "设备管理:改变密码失败");
}
@Override
public void onPasswordSucceeded(Context context, Intent intent) {
showToast(context, "设备管理:改变密码成功");
}
}
核心代码断:
Java代码
@Override
public CharSequence onDisableRequested(Context context, Intent intent) {
// 这里处理 不可编辑设备。
Intent intent2 = new Intent(context, NoticeSetting.class);
intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent2);
context.stopService(intent);// 是否可以停止
return ""; // "这是一个可选的消息,警告有关禁止用户的请求";
}
核心为 onDisableRequested方法可以做很作操作。正常情况下是取消勾选时,提示用户一句话。这里 context.stopService(intent);我把设置界面给关了。然后呢 跳转到我制定死机界面 NoticeSetting。NoticeSetting界面按键任何都不管用,只能重启。。
PS: 只是学习,不建议大家做流氓软件。本人自己也很抵触。学习之中,如果大家有问题欢迎留言,或者版本兼容问题。共同学习。 大家如果遇到这样的软件,可以用比较权威的软件卸载,如果还卸载不了,可以Root后,直接到app文件夹中删除apk文件。
更多新乡网络工程师培训学校,新乡计算机专业较好的学校,现在16岁了想学一样技术学什么好了,郑州北大青鸟学校好不好,郑州北大青鸟学计算机课怎么样,郑州北大青鸟电脑学校专业课程相关文章
- 郑州哪家安卓培训学校比较好
- 软件测试培训主要有哪些课程
- android软件编程培训好学吗?
- 文科生学习安卓开发好学吗
- 郑州安卓就业怎么样
- android新手教程之如何设置页面布局
- 安卓手机软件培训机构哪个好呢?
- android应用开发培训的内容
- 哪里有高级安卓开发技术培训?
- android高级开发培训哪里好?
- 安卓工程师学习前景怎么样?
- 怎么自学Android技术?
- 郑州Android培训班,什么时候开班?
- 安卓培训学费是多少?
- 安卓手机程序开发
- Android软件开发初级培训详解
- 自学安卓软件开发可以吗?
- Android份额超iOS成全球最受欢迎移动平台
- 软件工程这个专业怎么样?
- 郑州到哪里学安卓技术呢?
- 编程该如何学习,有什么好的方法吗?
- 程序员工资收入高吗
- Android如何创建新项目及开发
- android技术与java有什么关系
- 高中生没考上大学学软件开发可以学会吗?
- 安卓工程师大专毕业会怎样?
- android的app开发入门教程
- 安卓和iOS究竟是谁抄袭谁
- 搜索
-
- 热门标签