一、PowerManager

主要是用来控制电源状态,设置屏幕状态,和电池待机状态

PowerManager  pm = ((PowerManager)getSystemService(POWER_SERVICE));

这里我需要保持屏幕长期唤醒,不被锁屏,所以我调用WakeLock。

WakeLock wake = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK |powerManager.ON_AFTER_RELEASE, **Activity.class );

wake.acquire();//请求执行

相关的flag:

PARTIAL_WAKE_LOCK : 保持CPU 运转,屏幕和键盘灯有可能是关闭的。

SCREEN_DIM_WAKE_LOCK:保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯

SCREEN_BRIGHT_WAKE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯

FULL_WAKE_LOCK  : 保持CPU 运转,保持屏幕高亮显示,键盘灯也保持亮度

权限获得:

<uses-permission android:name="android.permission.WAKE_LOCK" /  >

二、WindowManager

调用window,设置window里面screenBrightness参数的值,但却短暂设置屏幕亮度的亮度,在某个activity下面才可以生效。

/**

* 设置屏幕亮度

*/

private void setWindowScreen(){

Window localWindow = getWindow();

WindowManager.LayoutParams localLayoutParams = localWindow.getAttributes();

float f = 5 / 255.0F;

localLayoutParams.screenBrightness = f;

localWindow.setAttributes(localLayoutParams);

}

获得权限:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

发现只有在当前activity下生效,需要改动系统文件下面的相关数值,调用Uri(类似链接)方法。

/**

* 保存屏幕亮度最低

* save light state

**/

public  void saveBrightness(ContentResolver resolver) {

Uri uri = android.provider.Settings.System.getUriFor("screen_brightness");

android.provider.Settings.System.putInt(resolver, "screen_brightness", 0);

resolver.notifyChange(uri, null);

}

三、WifiManager

就是无限管理相关的,类似获得wifi链接名字,判断是否链接,开关等一些和无线相关。

WifiManager manager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);

WifiInfo info = manager.getConnectionInfo();

wifiinfo里面包含很多东西,无限的IP,名字,ISSID,物理地址等很多信息,这里我需要获得查看是否链接实验室的无线获得无线的名字,名字是SSID。

String ssId = info.getSSID();

manager.setWifiEnabled(true);//打开wifi

manager.setWifiEnabled(false);// 关闭wifi

相关权限:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

四、ConnectivityManager

主要管理网络连接相关操作。

ConnectivityManager connManager = (ConnectivityManager)

context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetWorkInfo netinfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)

NetWorkInfo里面就包括网络连接的信息,包括连接状态,网络是否可用等相关操作

int code = netinfo.getState();

if (wifiState == State.CONNECTED || wifiState == State.CONNECTING)

return 200;// 连接成功

else

return 500; // 连接失败

相关权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

五、ActivityManager

是与系统中所有运行着的Activity交互提供了接口,主要的接口围绕着运行中的进程信息,任务信息,服务信息等。

ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);

MemoryInfo mi = new MemoryInfo();

am.getMemoryInfo(mi);

am.getRunningAppProcesses();

am.getRunningServices();

am.getDeviceConfigurationInfo();

am.killBackgroundProcessed(PackageName);

am.restartPackage(PackageName);

来源:本文来自蓝桥软件学院(http://xueyuan.lanqiao.org),欢迎大家转载学习。

【蓝桥软件学院】Android中五大Manager详解及使用技巧相关推荐

  1. android调webview的方法,Android中的WebView详解

    Android中的WebView详解 WebView详解 基本用法 布局文件配置WebView android:id="@+id/wv_news_detail" android:l ...

  2. Android 中malloc_debug 原理详解

    版本基于:Android R 关联博文: Android 中malloc_debug 使用详解 0. 前言 最近上项目中遇到一个native 可能内存泄漏的问题,曾考虑使用HWASAN,但这个工具是针 ...

  3. Android中mesure过程详解 (结合Android 4.0.4 最新源码)

    如何遍历并绘制View树?之前的文章Android中invalidate() 函数详解(结合Android 4.0.4 最新源码)中提到invalidate()最后会发起一个View树遍历的请求,并通 ...

  4. Android中layout过程详解 (结合Android 4.0.4 最新源码)

    上一篇文章Android中mesure过程详解 (结合Android 4.0.4 最新源码)介绍了View树的measure过程,相对与measure过程,本文介绍的layout过程要简单多了,正如l ...

  5. Android中shape属性详解

    一.简单使用 刚开始,就先不讲一堆标签的意义及用法,先简单看看shape标签怎么用. 1.新建shape文件 首先在res/drawable文件夹下,新建一个文件,命名为:shape_radius.x ...

  6. 【Android】 Android中Log调试详解

    LOG类: public final class Log extends Object java.lang.Object   android.util.Log Constants int ASSERT ...

  7. android布局置顶_[置顶] Android系统五大布局详解Layout

    我们知道Android系统应用程序一般是由多个Activity组成,而这些Activity以视图的形式展现在我们面前,视图都是由一个一个的组件构成的.组件就是我们常见的Button.TextEdit等 ...

  8. android context继承关系,android中Context深入详解

    以下分别通过Context认知角度,继承关系,对象创建等方面android中Context做了深入的解释,一起学习下. 1.Context认知. Context译为场景,一个应用程序可以认为是一个工作 ...

  9. Android中的长度单位详解

    http://blog.csdn.net/zuolongsnail/article/details/6397768 in(英寸)长度单位(基本用不到) mm(毫米)长度单位(基本用不到) pt(poi ...

最新文章

  1. 聊一个不常见的面试题:为什么数据库连接池不采用 IO 多路复用?
  2. spring整合mybatis(入门级简单教程2)
  3. CSP:CSP认证考试:202109-2(非零段划分)70分答案,Java版
  4. Nginx配置防盗链
  5. Top 10 Security Risks for 2014
  6. 全面剖析C#正则表达式
  7. ORACLE查询闪回
  8. python编程数学函数_【编程】Python数学函数
  9. BUAA 436 孟竹的复习计划(二维树状数组)
  10. java图像在背景图移动_java – 在Swing中移动背景图像
  11. 可疑文件_鉴定文件是不是病毒木马的可靠方法 | 免费快速精准
  12. #6281. 数列分块入门 5
  13. php常用编码,简介常见的编码方式
  14. 获取 服务器文件列表,云对象获取服务器的文件列表
  15. C#类、方法的访问修饰符
  16. python数据处理源代码_python数据分析与应用源数据和代码
  17. 调研之路 --- MXF
  18. 如何通过Gitalk评论插件,5分钟为你的博客快速集成评论功能
  19. Kinect Fusion三维重建
  20. 9型人格人口占比数据_数据人格

热门文章

  1. 连玉君 Markdown 笔记
  2. FMS2015:Memblaze现场演示单机310万IOPS高性能解决方案
  3. 中国医科大学806计算机应用基础,中国医科大学2021年硕士研究生入学考试自命题考试科目...
  4. 区块链的简单介绍(一)
  5. STM32f103,TIM1,TIM2,TIM3,TIM4,TIM5,TIM8,4路PWM输出配置(保姆级)
  6. Camtasia2020官方汉化免费下载录屏软件
  7. 教育培训约课小程序主要功能有哪些?
  8. 联诚发LED屏新品发布会圆满成功,龙艺系列舞美租赁屏精彩亮相
  9. 均薪过万!为什么近半数高薪职场女性选择成为程序员?
  10. 深度学习——CNN(卷积神经网络)(超详细)