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);

时间: 2024-09-30 11:50:50

Android各种Manager-郭通的相关文章

关于Android SDK Manager更新速度慢的解决方法

由于我的C盘比較小,android sdk安装在c盘那么他下载的东西也会默认在c盘.所以我选择安装在其它的盘. 并且我发现android sdk manager能够开多个窗体.这种话假设每一个窗体都非常慢的话,我们这样能够加快下载速度. 关于Android SDK Manager下载的时候不用所有下载完.所有下载完有50多G,非常多都没什么用,仅仅须要下载必要的platforms和其它一些小东西. 另外,我下载了全部的platforms(http://yunpan.cn/ccqv8KirPwG7

Android SDK Manager和AVD Manager使用

Android SDK Manager和AVD Manager使用(win7_64bit下测试) 目录 1.概述 2.本文用到的工具 3.安卓开发基础工具包下载 4.Android SDK Manager使用 5.AVD Manager使用 6.注意事项 7.相关博文(AndroidStudio.IDEA.Eclipse安卓环境配置) >>看不清的图片可在新标签打开查看大图 1.概述 顾名思义,Android SDK Manager就是一个Android软件开发工具包管理器,就像一个桥梁,连通

Mac Error Create Android Project - “Errors running builder &#39;Android Resource Manager&#39; on project”

http://stackoverflow.com/questions/18096315/mac-error-create-android-project-errors-running-builder-android-resource-man 在mac笔记本上运行android eclipse报标题的错误,然后在stackoverflow上找到了答案 18down votefavorite 5 I spent the whole day just trying to create a simple

Android SDK Manager国内无法更新的解决方案

现在由于GWF,google基本和咱们说咱见了,就给现在在做Android  或者想学习Android 的朋友带来了诸多的不便,最简单的就是Android SDK Manager 你无法更新了. 现在这里有一个解决方案,如下. 1.启动 Android SDK Manager ,打开主界面,依次选择「Tools」.「Options...」,弹出『Android SDK Manager - Settings』窗口: 2.在『Android SDK Manager - Settings』窗口中,在「

android SDK manager 无法更新

问题:SDK由于中国对谷歌的不友好封锁,导致国内更新缓慢.出现无法更新SDK的问题. 解决方式: 设置options选择另一个镜像: S1 打开 Android SDK Manager,选择 tTools -> Options S2 设置 HTTP Proxy Server: mirrors.neusoft.edu.cn S3 设置 HTTP Proxy Port: 80 效果图如下所示:

Android:Android SDK Manager

Android SDK Manager 包含:Tools(构建工具.编译工具.平台工具等) .各种版本SDK.Extras(安卓知识库和辅助工具) 每个SDK至少包含:1.SDK Plaform 2.Simple for SDK (事例文件)3.Source for Android SDK  (SDK对应源码)4.一个虚拟机镜像 (Intel x86/ARM) 安装: 1.直接拷贝到对于目录 2.通过Android SDK Manager 在线下载 Android SDK Manager顺利下载

Android SDK Manager下载失败 Download interrupted

从网上找了很久,也用了网上常见的方法: 第一步:修改hosts文件 第二步:在Android SDK Manager的Tool->Option选项中的Others勾选Force.... 但是尝试了以后还是不行,又有的说要下载自由门等软件,结构还是不行. 我在进行第一步和第二步的基础上,又进行第三步: 第三步:将SDK Path下的toos文件夹进行重命名为tools1 然后运行Android SDK Manager,这样我们就可以正常下载了,具体原因可能是因为SDK冲突吧,我也不是很清楚,但是解

(转)解决Android SDK Manager无法更新或下载太慢问题

原帖地址:http://blog.csdn.net/exlsunshine/article/details/22208857 天朝的网络...哎~真是无语...还好最近装了谷歌的chrome浏览器+红杏,终于见到大墙外面的世界了... 红杏插件只能在chrome中使用,如果能将谷歌浏览器设置成代理就好了. 最近想装个android开发环境,Android SDK Manager居然无法更新,原来只是慢,现在彻底屏蔽了... 网上试了好多方法:什么上站长工具网查海外ip.改hosts文件.查谷歌真

Android SDK Manager 无法更新SDK

Android SDK Manager 被墙后无法更新SDK 下载sdk时抛出错误:Failed to fetch URL http://dl-ssl.google.com/ 参考如下博客: http://blog.csdn.net/springsky_/article/details/7442388 但是楼主说的www.google.com 同样是被墙了的.找到一个可以的代理:mirrors.neusoft.edu.cn Tools ---> Option 进行如下配置就可以了: Androi

Android SDK Manager速度慢

转载自:http://www.cnblogs.com/tc310/archive/2012/12/21/2828450.html Android SDK Manager 无法下载更新,或者更新速度超慢,或者待安装包列表不显示 解决方法: 第一步:修改hosts文件 修改后的hosts 文件内容为: 127.0.0.1 localhost #Google主页 203.208.46.146 www.google.com #这行是为了方便打开Android开发官网 现在好像不VPN也可以打开 74.1