Android一键锁屏和清除数据代码实现

android 2.2引入了支持企业应用程序提供Android设备管理API。设备管理API提供了设备管理功能在系统级别。管理员也可以远程擦(即恢复工厂默认值)丢失或被盗的手机。但对于实现这些功能需要引入设备超级管理员(device admin),具体2、看文档 Develop–>API Guides—>Administration

下面我们看实现:

首先创建MyAdmin类,继承DeviceAdminReceiver

自己无需实现任何东西

AndroidManifest.xml配置这个接收器<receiver            android:name="com.example.lockscreen.MyAdmin"            android:description="@string/sample_device_admin_description"            android:label="@string/sample_device_admin"            android:permission="android.permission.BIND_DEVICE_ADMIN" >            <meta-data                android:name="android.app.device_admin"                android:resource="@xml/device_admin_sample" />            <intent-filter>                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />            </intent-filter>        </receiver>name填写自己类路径,此时sample_device_admin等会报错,我们需要在String.xml中说明<string name="sample_device_admin_description">我是设备超级管理员,开启我后我可以锁屏。</string><string name="sample_device_admin">一键锁屏设置</string>java主方法实现

先声明DevicePolicyManager,包名import android.app.admin.DevicePolicyManager;真实代码为例

package com.example.lockscreen;import android.app.Activity;import android.app.admin.DevicePolicyManager;import android.content.ComponentName;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.widget.Toast;public class MainActivity extends Activity {private DevicePolicyManager dpm;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);}/** * 开启设备管理员 * @param view */public void openAdmin(View view ){//声明一个意图,作用是开启设备的超级管理员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);}/** * 锁屏 * @param view */public void click(View view){ComponentName cn = new ComponentName(this, MyAdmin.class);if(dpm.isAdminActive(cn)){//设备管理员的apidpm.resetPassword("123", 0);dpm.lockNow();//dpm.wipeData(0);//dpm.wipeData(DevicePolicyManager.WIPE_EXTERNAL_STORAGE);//删除sdcard数据 }else{//openAdmin(null);Toast.makeText(this, "请先激活管理员", 0).show();}}/** * 卸载 * @param view */public void uninstall(View view){ 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);}}最后,前台xml中<Button的onclick属性配置方法名就可以调用了。 <Buttonandroid:onClick="openAdmin"android:layout_alignParentTop="true"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="开启超级管理员" /><Buttonandroid:onClick="click"android:layout_centerInParent="true"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="一键锁屏" /><Buttonandroid:onClick="uninstall"android:layout_alignParentBottom="true"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="卸载" />

如果你不出去走走,你就会以为这就是世界。

Android一键锁屏和清除数据代码实现

相关文章:

你感兴趣的文章:

标签云: