❶ 如何获取android管理员权限
我觉得这个写的挺好,分享一下
1.创建一个DeviceAdminReceiver子类(DeviceAdminReceiver是广播接收者的子类)
import android.app.admin.DeviceAdminReceiver;
public class MyAdmin extends DeviceAdminReceiver {
}
2.配置广播接收者清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxc.lockscreen"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.xxc.lockscreen.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.xxc.lockscreen.MyAdmin"
android:description="@string/sample_device_admin_description"
android:label="@string/sample_device_admin"
android:permission="android.permission.BIND_DEVICE_ADMIN" ><!-- description和label都是strings.xml里配置的 -->
<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>
values目录下的strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">一键锁屏</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="sample_device_admin_description">此应用用于锁屏</string><!-- 见图一 -->
<string name="sample_device_admin">锁屏</string><!-- 见图一 -->
</resources>
3.在res目录下创建xml文件夹,再此文件夹里创建device_admin_sample.xml
[html] view plain print?在CODE上查看代码片派生到我的代码片
<?xml version="1.0" encoding="utf-8"?>
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 指定设备超级管理员所拥有的权限 -->
<uses-policies>
<limit-password />
<watch-login />
<reset-password />
<force-lock />
<wipe-data />
</uses-policies>
</device-admin>
4.在Activity里调用
package com.xxc.lockscreen;
import android.app.Activity;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.ComponentInfo;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
/**
* 步骤:
* 1.创建一个类继承DeviceAdminReceiver
* 2.因为DeviceAdminReceiver是一个广播接收者,那么就需要在清单文件里配置receiver
* <receiver
android:name="com.xxc.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" /> //在res下创建xml文件夹,并创建device_admin_sample.xml文件
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
*3.device_admin_sample.xml文件内容为:
*<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>
*
*4.设置--->设备管理器--->将锁屏程序勾选激活
*
*5.而让一般的用户手动执行第四步会感觉很繁琐,所以在界面上加一个CheckBox组件,直接完成第四步的操作
*/
public class MainActivity extends Activity {
private DevicePolicyManager dpm;
private CheckBox cb_status;
private ComponentName mDeviceAdminSample;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);//设备策略管理器
cb_status = (CheckBox) findViewById(R.id.cb_status);//复选框组件
//第一个参数 上下文 第二个参数 需要被激活的超级管理员类
mDeviceAdminSample = new ComponentName(getApplicationContext(), MyAdmin.class);
isOpen();//判断是否激活,再进行对应的数据回显
cb_status.setOnCheckedChangeListener(new OnCheckedChangeListener() {//多选框勾选状态改变的监听器
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//以下这段都是API上复制的
if(isChecked){//多选框被勾选,激活超级管理员
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"开启后就可以使用锁屏功能了...");//显示位置见图二
/*
* 不能直接startActivity 因为可能在激活的时候用户点击了取消,这时候CheckBox状态是勾选的,但是实际是没激活的,
* 所以要等打开的Activity关闭后的回调函数里去判断是否真正激活,再对CheckBox状态进行改变
*/
startActivityForResult(intent, 0);
}else{//多选框取消勾选,取消激活超级管理员
dpm.removeActiveAdmin(mDeviceAdminSample);
}
}
});
}
/**
* 关闭激活Activity后的回调函数
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
isOpen();
}
/**
* 检测用户是否开启了超级管理员
*/
private void isOpen() {
if(dpm.isAdminActive(mDeviceAdminSample)){//判断超级管理员是否激活
cb_status.setChecked(true);
}else{
cb_status.setChecked(false);
}
}
public void screenLock(View view){
dpm.lockNow();//锁屏
}
}
❷ airfrozen OPPO reno 5
第一级别:手动版airfrozen OPPO reno 5免root激活
手动版很简单,也是很多人平时最常使用的,关闭屏幕前手动关闭流量,WiFi,GPS和蓝牙,然后清理一下后台,这样可以起到省电的作用,但是一是太繁琐,二是后台自启动程序和关联启动应用还是无法处理。
第二级别:系统版
许多手机系统都自带了各类的省电模式和省电优化功能。
手机掉电太快很头疼?第三层省电境界之前没听过
如图是魅族手机的省电模式,分为低功耗模式,极限省电模式和自定义省电模式,顾名思义,低功耗以降低性能来进行省电,自定义则可以自选哪些方面进行省电优化。
手机掉电太快很头疼?第三层省电境界之前没听过
再来看一下酷比(koobee A3)手机的省电模式,正常模式,智能模式和超级模式三个选择。值得一提的是,在智能省电模式中可以选择关闭屏幕自动关闭、网络数据、WiFi、GPS,甚至触屏反馈等,这样设计就解决了第一阶段手动关闭的麻烦,打开屏幕后自动开启开关,实用性较强,一步解放了手动党。
手机掉电太快很头疼?第三层省电境界之前没听过
在给koobee A3关机的时候,无意发现了超级省电这个选项。进入超级省电模式,手机瞬间进入功能机时代,除了基本的通讯功能外,没有任何多余的后台耗电项目,甚至连主题壁纸都是蓝黑色调为主,最大限度减少来自屏幕的电量消耗,可保证在特别情况下手机的长时间待机。
手机掉电太快很头疼?第三层省电境界之前没听过
第三层:Root版
手机root之后会获取最高权限,现在市面上很多手机支持一键root功能,当然root过后保修也就失效了,不过考虑到目前安卓手机接近一年一换新的频率,软件的安全性也越来越高(告别小小网站,你懂的),root之后基本没风险,root之后可以删除系统自带的使用率低的应用,比如系统音乐播放器等。Root之后,神器也来了,空调狗(AirFrozen)是一款英文软件,被翻译成这样。。。直译是空气冷冻,此软件的最大作用在于可以冰冻任何应用,只有0.2M大小,选择冰冻后应用再也无法自动启动了,同样的软件还有Ice Box等等,特点就是体积小,实用,没有后台启动就没有额外耗电,更没有关联启动和偷跑流量了。
手机掉电太快很头疼?第三层省电境界之前没听过
one more thing
据说全新的安卓7.0系统可以选择屏幕分辨率……可以把2K屏调成1080P甚至720P……这也可以成为又一大省电神器,不过2K屏在目前高功耗低体验已经成为业内尽知的秘密,未来整个手机行业而言,电池密度的突破和快充技术的提升,或将是最佳的电池解决方案。