软件培训网

欢迎访问软件培训网!招生咨询电话与微信:15225191462(周老师)
软件培训网,专业解决学IT疑难杂症!

首页 > 安卓培训/ 正文

如何设置Android设备管理器勾选不能取消

2014-12-02 11:54:09 软件培训网

  如何设置Android设备管理器勾选不能取消?自己最近在学习Android过程中,下载了一个Demo尽然不能取消设备管理器,也不能卸载。自己猛一想这是如何实现的?loZ软件IT培训网-河南郑州IT培训

首先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文件。
 

Tags:新乡网络工程师培训学校,新乡计算机专业较好的学校,现在16岁了想学一样技术学什么好了,郑州北大青鸟学校好不好,郑州北大青鸟学计算机课怎么样,郑州北大青鸟电脑学校专业课程

搜索
软件培训学校哪家好,就来软件培训网咨询
软件培训学校哪家好,就来软件培训网咨询
热门标签
软件培训学校哪家好,就来软件培训网咨询
软件培训学校哪家好,就来软件培训网咨询
软件培训学校哪家好,就来软件培训网咨询
  • QQ交谈