admin管理员组

文章数量:1536095

一键锁屏&清除数据_50

 

1、引入设备超级管理员(device admin)

2、看文档Develop-->API Guides--->Administration

   如果你是一个企业管理员,您可以利用apiAndroid设备管理系统功能和控制访问。

 

 

  android2.2引入了支持企业应用程序提供Android设备管理API。设备管理API提供了设备管理功能在系统级别。这些api允许您创建安全性敏感的应用程序是有用的在企业设置,IT专业人员需要丰富的控制员工的设备。例如,内置Android电子邮件应用程序利用了新的api来改善交流的支持。通过电子邮件应用程序,交流管理员可以执行密码策略——包括字母数字密码或数字针——在设备。管理员也可以远程擦(即恢复工厂默认值)丢失或被盗的手机。用户可以同步他们的电子邮件和日历数据交换。

 

3、在模拟器的ApiDemo里(打开/app/deviceadmin)看这个功能,并演示锁屏;

 

4、创建工程、创建 MyAdmin

 

5、https://play.google 查看当前这类软件的下载量多少。

 

6、在设置里面去掉激活勾选框后,点击崩溃;

   DevicePolicyManager;

7、注册超级管理员代码

 

       //声明一个意图,作用是开启设备的超级管理员

               Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);

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

         intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, cn);

         //劝说用户开启管理员

         intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,

                  "开启我把。开启我就可以锁屏了,开启送积分");

         startActivity(intent);

8、演示一键锁屏,并展示无法卸载;

9、卸载当前应用的功能代码;

 

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

              //可以移除管理员

              dpm.removeActiveAdmin(cn);

              Intent intent = new Intent();

              intent.setAction("android.intent.action.UNINSTALL_PACKAGE");

              intent.addCategory("android.intent.category.DEFAULT");

              intent.setData(Uri.parse("package:"+getPackageName()));

              startActivity(intent);

9、点击锁屏的时候验证是否已经锁屏

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

              if(dpm.isAdminActive(cn)){

                     //设备管理员的api

                     dpm.lockNow();

              }else{

//                   openAdmin(null);

                     Toast.makeText(this,"请先激活管理员",0).show();

              }

 

10、设置密码

dpm.resetPassword("123", 0);

11、取消密码:用代码、设置页面;

 /data/system # 密码存放在这里


这个 主要是 要继承一个DeviceAdminReceiver 这个广播  然后 进行相应的配置 即可  配置要参照 开发者文档 进行配置  还需要建立xml文件夹 存放某些东西


package com.itheima.mobiesafe.service;

import android.app.Service;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.IBinder;
import android.telephony.SmsManager;

public class GPSService extends Service {

	LocationManager lm;
    MyListener listener;
	@Override
	public IBinder onBind(Intent intent) {
		return null;
	}

	@Override
	public void onCreate() {
		super.onCreate();
		lm = (LocationManager) getSystemService(LOCATION_SERVICE);
		Criteria criteria = new Criteria();
		criteria.setAccuracy(Criteria.ACCURACY_FINE);
		listener = new MyListener();
		String provider = lm.getBestProvider(criteria, true);
		lm.requestLocationUpdates(provider, 0, 0, listener);
	}

	class MyListener implements LocationListener {

		@Override
		public void onLocationChanged(Location location) {
			String longitude = "j:" + location.getLongitude() + "\n";
			String latitude = "w:" + location.getLatitude() + "\n";
			String accuracy = "a" + location.getAccuracy() + "\n";
			SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);
			Editor editor = sp.edit();
			editor.putString("lastlocation", longitude + latitude + accuracy);
			editormit();
		}

		@Override
		public void onStatusChanged(String provider, int status, Bundle extras) {
			// TODO Auto-generated method stub

		}

		@Override
		public void onProviderEnabled(String provider) {
			// TODO Auto-generated method stub

		}

		@Override
		public void onProviderDisabled(String provider) {
			// TODO Auto-generated method stub

		}

	}

	@Override
	public void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		// 取消监听位置服务
		lm.removeUpdates(listener);
		listener = null;
	}
}



本文标签: 一键数据手机android