美文网首页
Android中五大Manager详解及使用技巧

Android中五大Manager详解及使用技巧

作者: kingZXY2009 | 来源:发表于2017-02-20 11:23 被阅读69次

    学习Android的同学注意了!!!

    学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Android学习交流群,群号码:364595326  我们一起学Android!

    一、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 运转,保持屏幕高亮显示,键盘灯也保持亮度

    权限获得:

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

    }

    获得权限:

    发现只有在当前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

    相关权限:

    四、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; // 连接失败

    相关权限:

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

    相关文章

      网友评论

          本文标题:Android中五大Manager详解及使用技巧

          本文链接:https://www.haomeiwen.com/subject/iniswttx.html