Android中五大Manager详解及使用技巧
一、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 SDK Manager与AVD Manager使用详解 #### 一、Android SDK Manager 使用 **Android SDK Manager** 是Android软件开发工具包管理器的核心组件之一,它作为桥梁连接本地计算机与远程服务器,负责从服务器...
### Android系统架构详解 #### 一、概述 Android操作系统是一个基于Linux内核的移动设备操作系统,广泛应用于智能手机和平板电脑等移动终端。Android系统架构由五个主要组成部分构成:Linux Kernel、Android ...
《Android系统原理及开发要点详解》是一本深入探讨Android操作系统核心机制和开发实践的重要参考资料。本书旨在帮助读者全面理解Android的内部运作,并掌握在这一平台上进行高效应用开发的关键技巧。 一、Android...
- **传感器使用**:了解Android支持的各种传感器类型,如加速度计、陀螺仪等,并学习如何在应用中使用它们。 #### 五、高级特性与性能优化 - **多线程编程**:掌握Handler、AsyncTask等机制实现多线程的方式。 - *...
### Android中的WebView控件详解 #### 一、概述 WebView是Android系统提供的一个重要的控件,主要用于在应用程序中展示Web内容。它不仅能够加载并显示HTML文档,还支持JavaScript脚本执行,允许开发者通过Java与...
- **多线程与异步处理**: Android应用中经常需要处理耗时操作,如网络请求、大数据处理等,掌握Handler、AsyncTask、IntentService等机制有助于提升用户体验。 - **服务(Service)**: 服务是在后台长时间运行的组件,...
《Android Download Manager详解》 Android Download Manager是一款专为Android系统设计的高级下载管理工具,它提供了全面且强大的功能,能够满足用户对下载任务的各种需求。本文将深入探讨其主要特性,包括多任务...
《AndroidManager优化大师详解》 在移动设备领域,Android系统占据着主导地位,而随着用户对设备性能和体验的需求不断提升,Android系统管理工具——AndroidManager优化大师应运而生。这款应用旨在帮助用户深度优化...
### Android启动过程详解 #### 一、概述 Android操作系统启动过程是一个复杂且精细的过程,它涉及到从硬件层面的初始化到最终用户界面的呈现。整个启动流程可以大致分为以下几个阶段: 1. **init进程启动** 2. **...
### Android环境搭建详解 #### 一、环境搭建概述 本文将详细介绍如何搭建Android开发环境,包括JDK(Java Development Kit)、Eclipse IDE、Android SDK、ADT插件以及创建AVD(Android Virtual Device)的过程。...
《Android应用开发详解》这本书是为初中级Android开发工程师量身打造的一本指南,旨在深入浅出地介绍Android应用开发的各个方面。以下是对书中主要内容的详细解析: 一、Android系统架构 Android系统由Linux内核、...
### 最新Android开发平台搭建详解 #### 一、引言 随着移动互联网的快速发展,Android作为全球最大的移动操作系统之一,其应用开发需求日益增长。对于初学者来说,如何快速搭建一个稳定高效的Android开发环境至关...
Android 开发环境搭建详解 本文将详细讲解 Android 开发环境的搭建过程,包括 Java JDK 的下载和安装、Eclipse 的下载和安装、Android SDK 的下载和安装,Eclipse 配置、Android 开发插件的安装、Android SDK 的...
### Android系统原理及开发要点详解 #### 一、Android系统概述 Android系统是基于Linux内核的操作系统,主要应用于移动设备如智能手机和平板电脑。它由Google公司于2005年收购Android Inc.后发展起来,并在2007年...
- **定义**:Service是Android中的一种特殊组件,可在后台长时间运行,并可以跨进程访问。 - **生命周期**:Service有其特定的生命周期,包括创建、启动、停止等阶段。 4. **启动过程详解** - **Zygote进程**:...
【Android入学考试知识点详解】 Android是Google开发的一款开源操作系统,广泛应用于智能手机、平板电脑和智能电视等设备。作为Android开发者,掌握基础知识至关重要。本篇将根据"黑马程序员Android入学考试"的题目...
### Android Studio 配置与使用详解 #### 一、Android Studio 基本SDK配置 在开始使用 Android Studio 进行应用开发之前,一个重要的准备工作就是配置好 Android SDK。这通常包括选择合适的 API 级别、安装必要的...