一键锁频
来源:互联网 发布:微信抢红包排雷软件 编辑:程序博客网 时间:2024/06/17 23:57
这里,一键锁频只是用了超级管理权限中的一个,超级管理权限有很多个,比如禁用相机,擦出数据等。
利用API是:file:///D:/help_document/android4.4API/guide/topics/admin/device-admin.html
主Activity代码
public class MainActivity extends ActionBarActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void lockScreen(View view){/** * 1、获取系统服务:得到设备的超级管理器 * 2、写一个类继承(实际为广播接受者) * 3、完成广播接收的配置(看API) */DevicePolicyManager devicePolicyManager = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);//devicePolicyManager.setCameraDisabled(admin, disabled);设置相机是否有用//devicePolicyManager.resetPassword(password, flags)重新设计密码//devicePolicyManager.wipeData(flags);擦出数据devicePolicyManager.lockNow();//一键锁频}}
清单文件代码,这里主要是配置广播,因为继承类本身就是一个广播
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sysweal.onekeylockscreen" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.sysweal.onekeylockscreen.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="com.sysweal.onekeylockscreen.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> </application></manifest>
import android.app.admin.DeviceAdminReceiver;public class MyAdmin extends DeviceAdminReceiver{}
在res目录下,新建xml文件夹,里面存放项目的一个文字,下面是一键锁频用到的,全部的为第二个:
<?xml version="1.0" encoding="utf-8"?><device-admin xmlns:android="http://schemas.android.com/apk/res/android" > <uses-policies> <force-lock /> </uses-policies></device-admin>
<device-admin xmlns:android="http://schemas.android.com/apk/res/android"> <uses-policies> <limit-password /> <watch-login /> <reset-password /> <force-lock /> <wipe-data /> <expire-password /> <encrypted-storage /> <disable-camera /> </uses-policies></device-admin>
当然完成到上面这个还没有结束,因为类装载后,必须在设备中:设置-安全-激活当前的应用,这里可以做延伸,完成激活提示
激活代码:
/** * 一件激活 */public void OneKeyJiHuo(View view) {Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);// 指定要激活的组件ComponentName mDeviceAdminSample = new ComponentName(this,MyAdmin.class);// 意图里面携带的数据intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,mDeviceAdminSample);intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"开启后可以锁定屏幕。不开启这个功能扣200块钱");startActivity(intent);}
取消激活:
/** * 取消激活 */public void unintall(View view){// 指定要激活的组件ComponentName mDeviceAdminSample = new ComponentName(this,MyAdmin.class);devicePolicyManager.removeActiveAdmin(mDeviceAdminSample);// <action android:name="android.intent.action.VIEW" />// <action android:name="android.intent.action.DELETE" />// <category android:name="android.intent.category.DEFAULT" />// <data android:scheme="package" />Intent intent = new Intent();intent.setAction("android.intent.action.DELETE");intent.addCategory("android.intent.category.DEFAULT");intent.setData(Uri.parse("package:"+getPackageName()));startActivity(intent);}
0 0
- 一键锁频
- STL之stack、queue
- CreateEx 和Create的区别
- 欢天喜地迎国庆,国产开源编程语言 RPP 1.87 发布!
- 黑马程序员-C语言预处理
- servlet中的url—pattern
- 一键锁频
- Two Sum
- Java基础-->数组
- error C3130: 内部编译器错误: 未能将插入的代码块写入PDB
- (黑马程序员)intent用法
- 奶牛生子问题(关键字,奶牛,生子,第4年,母牛,每年生一只,20年)
- hibernate之openSession()和getCurrentSession()的区别
- 【瞎搞】 HDU 1361 Parencodings 括号
- 设置win7文件夹背景和图标