• 好记性不如烂笔头(一)


    获取系统设置状态
    我们能够通过Settings.System类来获取到一些系统设置的状态,所以我们能够通过下面代码来获取系统的状态,比方ACCELEROMETER_ROTATION
    等。只是有一点要注意的就是,Android的ROM太多了,不同的厂商可能会直接改掉Android的实现,然后自己实现一套。然后。就崩了。
    所以在真正处理的时候。我们须要去捕获异常,保证代码的健壮性。

    /**
    * 获取系统屏幕方向是否被锁定的状态
    * @return
    */
    public static boolean isLock(Context context){ 
    int lock = Settings.System.getInt(context.getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, -1);
    return lock != 1;
    }
    return false;
    }

    监控系统设置“锁定方向”或者“自己主动旋转”button改变
    我们都知道ContentObserver监控的Content是指Android本身提供的一些底层数据库,比方短信,电话等,当然,也包含我们的设置项,
    所以,通过上面的方法。我们能够获取到系统设置的状态,可是怎样在状态改变的时候,也第一时间知道呢,那就要求我们去注冊一个
    Observer了。也就是观察者。详细代码例如以下。
    1、创建Observer

    private ContentObserver mRotationLockObserver = new ContentObserver(new Handler()) {
    @Override
    public void onChange(boolean selfChange) { 
         // 能够进入到这个函数,就说明相应的Content的内容已经发生变化了,也即设置项的值已经被改变了。
         // 而 selfChange在这里表明是否当前App改变设置的值的
    }
    };

    2、 注冊Observer
    上面仅仅是创建一个对Content的Observer。可是详细须要去监听哪个内容呢,这就由我们在注冊的时候来决定了。


    在之前的博文中。有写过一篇文章,是对短信收件箱进行监听的。大家有兴趣的话能够看一下那一篇文章。就会更好地了解关于这个ContentObserver的使用了。

    Android学习小Demo(13)Android中关于ContentObserver的使用

    getContentResolver().registerContentObserver(Settings.System.getUriFor(Settings.System.ACCELEROMETER_ROTATION),
    true, mRotationLockObserver);

    3、撤消Observer

    getContentResolver().unregisterContentObserver(mRotationLockObserver);

    监听手机屏幕方向改变
    可通过继承OrientationEventListener来自己定义一个类,当中onOrientationChanged方法会在屏幕方向发生变化的时候被调用。


    參数orientation的值为0-359,表明屏幕此时旋转的角度。

    
    public class OrientationDetector extends OrientationEventListener {
    
    public OrientationDetector(Context context) {
    super(context);
    }
    
    @Override
    public void onOrientationChanged(int orientation) {
    if (orientation == OrientationEventListener.ORIENTATION_UNKNOWN) {
    }
  • 相关阅读:
    使用tensorflow深度学习识别验证码
    单线程、多线程、多进程、协程比较,以爬取新浪军事历史为例
    web开发中的安全问题
    关于无效验证码
    怎么制作免费短信轰炸机
    python2.7中关于编码,json格式的中文输出显示
    一个网址
    基于pyteseract google ocr的图形验证码识别
    python使用pyqt写带界面工具
    python使用tkinter写带界面的工具
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5178146.html
Copyright © 2020-2023  润新知