精华内容
下载资源
问答
  • Android一键关闭手机屏幕

    千次阅读 2016-10-31 20:06:29
    一、概述最近从应用市场下载了一款关闭手机屏幕的软件,这款软件很好的实现了关闭手机屏幕的功能,然而也加入了其他如连网,定位,安装包大小竟然到了3M,所以想动手自己写一个简单纯净的关屏软件。 二、开发创建好...

    一、概述

    最近从应用市场下载了一款关闭手机屏幕的软件,这款软件很好的实现了关闭手机屏幕的功能,然而也加入了其他如连网,定位,
    安装包大小竟然到了3M,所以想动手自己写一个简单纯净的关屏软件。
    

    二、开发

    创建好新工程后,想到android应该有相关API,应该要用户授权之类的,然后结合从网上找到的资料和自己的总结,完成了开发。
    

    1.首先,用户授权不是声明权限,而是激活自己的软件的锁屏功能,android把这个激活封装了一个activity,我们声明一个隐式意图跳到这个activity即可。而这个隐式意图是DeviceAdminReceiver这个广播的类对象,我们只需要创建一个广播继承即可,如下

    package com.lzy.lockscreen;
    
    import android.app.admin.DeviceAdminReceiver;
    
    public class MyDeviceAdminReceiver extends DeviceAdminReceiver {
    }
    

    2.类中不需要任何代码,在Manifest文件中,声明如下

    <receiver android:name=".MyDeviceAdminReceiver">
        <meta-data
            android:name="android.app.device_admin"
            android:resource="@xml/my_admin" />
        <intent-filter>
           <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
        </intent-filter>
    </receiver>

    3.这里指定了一个xml文件my_admin,它的作用就是去列出自己需要激活的权限

    <?xml version="1.0" encoding="utf-8"?>
    <device-admin>
        <uses-policies> 
            <force-lock />
        </uses-policies>
    </device-admin>

    这里的force-lock就是关闭手机屏幕,还有这些激活,有兴趣的可以试一下,

    limit-password 设置密码的规则
    watch-login 监控屏幕解锁尝试次数
    reset-password 更改屏幕解锁密码
    force-lock 设备锁屏
    wipe-data 删除全部的数据

    4.然后就是写主activity的逻辑了,贴出代码吧

    package com.lzy.lockscreen;
    
    import android.app.admin.DevicePolicyManager;
    import android.content.ComponentName;
    import android.content.Intent;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.view.Window;
    import android.view.WindowManager;
    import android.widget.TextView;
    
    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        DevicePolicyManager policyManager;
        ComponentName componentName;
        private TextView mTV;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            mTV = ((TextView) findViewById(R.id.tv));
            mTV.setOnClickListener(this);
            policyManager = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);
            componentName = new ComponentName(this, MyDeviceAdminReceiver.class);
            if (!policyManager.isAdminActive(componentName)) {
                goSetActivity();
            } else {
                systemLock();
            }
        }
    
        private void goSetActivity() {
            Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
            intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName);
            startActivityForResult(intent, 1);
        }
    
        /**
         * 锁屏并关闭屏幕
         */
        private void systemLock() {
            if (policyManager.isAdminActive(componentName)) {
                Window localWindow = getWindow();
                WindowManager.LayoutParams localLayoutParams = localWindow.getAttributes();
                localLayoutParams.screenBrightness = 0.05F;
                localWindow.setAttributes(localLayoutParams);
                policyManager.lockNow();
            }
            finish();
        }
    
        @Override
        public void onClick(View view) {
            if (view == mTV) {
                goSetActivity();
            }
        }
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if (1 == requestCode) {
                if (RESULT_OK == resultCode) {
                    systemLock();
                } else if (RESULT_CANCELED == resultCode) {
                    //用户拒绝激活
                }
            }
        }
    
    }

    大家可以看到仅仅60多行代码即可实现功能,有激活成功和失败的回调,交互友好,相信大家一看就明白,代码已经上传到github,地址:https://github.com/lzyang187/LockScreen

    5.thks ,have a good time!

    展开全文
  • Unity 让手机屏幕常亮

    千次阅读 2017-09-27 10:13:40
    手机屏幕常亮设置
      void Start ()
        {
            Screen.sleepTimeout = SleepTimeout.NeverSleep;
    
        }


    运行时执行一下就好了.

    Screen.sleepTimeout = SleepTimeout.SystemSetting;  //关闭手机屏幕常亮(按照手机设置)


    展开全文
  • 为何关闭手机屏幕并没有退出公众号会话,微信location事件上报用户地址,数据库也没有写入记录,当打开手机屏幕,则微信location事件又开始上报用户地址,并写入数据库,能解释是什么原因么?谢谢!
  • 手机屏幕测试

    千次阅读 2015-05-16 13:29:27
    可否认,近两年手机屏幕往大屏方向的发展,大大增加了屏幕在消费者心目中的分量。目前消费者在选购一款手机时,屏幕已经成为左右他们购买的关键因素之一。所以,本文的关注点正是手机的屏幕,但不同以往的是,这次...

    来源: http://www.18nrh.com/news.asp?id=518

    不可否认,近两年手机屏幕往大屏方向的发展,大大增加了屏幕在消费者心目中的分量。目前消费者在选购一款手机时,屏幕已经成为左右他们购买的关键因素之一。所以,本文的关注点正是手机的屏幕,但不同以往的是,这次我们把目光聚焦在了大家平时并没有怎么注意到的屏幕性能上。

    智能手机屏幕专项测试

    我们为什么要做这个测试

    虽然消费者很看重智能手机的屏幕,但他们往往关注的是屏幕的大小、分辨率,反而容易忽略屏幕本身的性能。这也难怪,毕竟智能手机不像显示器,屏幕只是它的一个组成部分而非全部,厂商在产品规格上也只会将尺寸、分辨率这些最直观的规格标示出来。那么这是不是意味着我们不用去关注智能手机屏幕的效果?其实在现阶段,我觉得智能手机屏幕的性能更值得我们去关注。因为在各个厂商拼大尺寸、高分辨率的时候,手机屏幕外在的属性已经高度同质化,而此时,屏幕的亮度有多高、对比度规格如何、色域范围有多大,就成为了不同智能手机间屏幕差异化的关键。这些规格,你在手机的参数表上找不到,所以《微型计算机》策划了此次针对手机屏幕的专项测试,正是为了以管窥豹,让广大读者能对目前主流智能手机的屏幕性能有更多的了解和认识。

    测试哪些项目

    测试屏幕自然需要专业的测试仪器,《微型计算机》此次采用了柯尼卡美能达CA-310色彩分析仪来测试手机的屏幕。测试方式是通过CA-310的测量探头对手机屏幕进行测试。测试项目包括亮度、对比度、NTSC色域范围以及Gamma曲线。之所以测试这四个项目,是因为它们对我们的实际使用有明显的影响——也许在大多数情况下我们不会用到最高的亮度,但是在室外,特别是有阳光的时候,屏幕的亮度越高,用户才能看得更清楚;对比度决定着屏幕是不是黑白分明,层次感好不好,我想没人愿意对着一块灰蒙蒙的屏幕;目前流传甚广的一个说法是“三星的屏幕色彩最艳丽”,这其中色彩是否艳丽很大程度上取决于NTSC色域范围,那么三星手机屏幕的色域范围真的很广吗?如今消费者越来越频繁地用手机查看图片和视频,因此Gamma曲线的重要性也日渐突出。

    测试仪器

    《微型计算机》此次采用的测试仪器——柯尼卡美能达CA-310色彩分析仪是其最新一代产品,能够支持LED背光显示器。CA-310可以实现的主要应用包括对显示设备色度、白平衡、γ值以及对比度的检查与调整。除了可以用来测试背投、LCD、FED、OLED、CRT、PDP之外,它在CA-210的光学系统上改进了滤色片技术,更适合采用LED背光的屏幕的测量。

    整个性能测试过程都是以这样的形式进行
    整个性能测试过程都是以这样的形式进行

    柯尼卡美能达CA-310色彩分析仪
    柯尼卡美能达CA-310色彩分析仪

    参测手机一览

    三星Galaxy S4 ●Super AMOLED HD ●5英寸(1920×1080)
    三星Galaxy S4 ●Super AMOLED HD ●5英寸(1920×1080)

    The New HTC One(后文简称HTC One) ●Super LCD 3 ●4.7英寸(1920×1080)
    The New HTC One(后文简称HTC One) ●Super LCD 3 ●4.7英寸(1920×1080)

    苹果iPhone 5●IPS ●4英寸(1136×640)
    苹果iPhone 5●IPS ●4英寸(1136×640)

    OPPO Find 5 ●IPS ●5英寸(1920×1080)
    OPPO Find 5 ●IPS ●5英寸(1920×1080)

    华为Mate ●IPS ●6.1英寸(1280×720)
    华为Mate ●IPS ●6.1英寸(1280×720)

    小米手机2S ●IPS ●4.3英寸(1280×720)
    小米手机2S ●IPS ●4.3英寸(1280×720)

    中兴Grand S ●IPS ●5英寸(1920×1080)
    中兴Grand S ●IPS ●5英寸(1920×1080)

    亮度

    测试每款手机的亮度前,我们会先在手机的设置中将自动亮度关闭,同时将亮度调至最高。为了获得更准确的数据,我们会连续测试三次,取三次所得数据的平均值作为它们最终的成绩。可以看到,在实测亮度上参测产品呈两极分化的态势。Galaxy S4和Mate的最高亮度都低于300cd/m2,而最高的iPhone 5则接近600cd/m2。总体来看目前各家厂商的旗舰机型在屏幕亮度上还是偏高的,当然用户也不用担心亮度低于300cd/m2的两款手机的实际表现,因为在实际应用中大多数时候我们并不会用到那么高的亮度。超高亮度的意义主要体现在室外阳光直射屏幕时,用户能看到更清晰的画面。

    中兴Grand S ●IPS ●5英寸(1920×1080)

    对比度

    可以看到,7款产品中有6款产品的对比度都超过了1000∶1。唯一例外的是Galaxy S4,它的实测对比度竟然达到了186667∶1。这是因为Galaxy S4采用的Super AMOLED面板在技术上与其他产品采用的液晶显示技术并不相同。AMOLED并不像液晶面板那样需要单独的背光源,其自身就可以发光,因此AMOLED在显示全黑画面时可以将亮度控制得很低。这与我们熟知的动态对比度并不相同,前者是自身具备的素质,而后者是通过在全黑显示时关闭背光来达到提升对比度的目的,并不具备实际意义。所以单就对比度这一项而言,三星Galaxy S4的屏幕是完胜其他手机的。

    对比度

    NTSC色域范围

    色彩饱和度越高,代表产品所能表现的一种颜色的程度越丰富。从NTSC色域范围的实测结果来看,Galaxy S4的表现确实领先其他产品,达到99%,如果是在显示器领域已经能被称为是广色域了。从NTSC色域图上我们可以看到,它的三原色基本涵盖了Adobe RGB色彩空间,因此它所显示的画面能让用户感觉颜色鲜艳也就不难解释了。其余6款产品的表现则是目前液晶面板的主流水准,没有什么可多说的。

    三星Galaxy S4的NTSC色域范围为99%
    三星Galaxy S4的NTSC色域范围为99%

    苹果iPhone5的NTSC色域范围为70%
    苹果iPhone5的NTSC色域范围为70%

    HTC One的NTSC色域范围为70%
    HTC One的NTSC色域范围为70%

    小米手机2S的NTSC色域范围为70%
    小米手机2S的NTSC色域范围为70%

    OPPO Find 5的NTSC色域范围为72%
    OPPO Find 5的NTSC色域范围为72%

    华为Mate的NTSC色域范围为69%
    华为Mate的NTSC色域范围为69%

    中兴GrandS的NTSC色域范围为72%
    中兴GrandS的NTSC色域范围为72%

    Gamma曲线

    简单来说Gamma曲线就是输入信号与输出亮度的比例关系,Gamma曲线默认都是1,也就是输入输出一一对应。我们分别测试了手机在三原色以及白色下的Gamma曲线。可以看到,Galaxy S4、iPhone 5和小米手机2S的几条Gamma曲线重合度高,表现出色,而其他几款产品的Gamma曲线则明显有偏离,代表它们在颜色的准确性上表现一般。虽然我们不能像在显示器上通过专业仪器调整Gamma曲线,但通过了解手机屏幕在这方面的表现,我们还是可以选择表现更好的产品。而厂商要做的则是通过这样的测试来获得产品屏幕的Gamma曲线,从而找到最合适的参数,使得手机的屏幕显示与标准要求尽量一致。

    三星Galaxy S4
    三星Galaxy S4

    苹果iPhone 5
    苹果iPhone 5

    HTC One
    HTC One

    小米手机2S
    小米手机2S

    OPPO Find 5
    OPPO Find 5
    华为Mate
    华为Mate

    中兴Grand S
    中兴Grand S

    展开全文
  • 我设计了一个防盗软件,我想当我启动程序后关掉屏幕(为了节约电源),程序依然像开着屏幕一样运行着,比如说我的软件是一个小球根据重力往不同的方向移动,当我关掉屏幕了拿起手机,小球依然在根据方向运动,也就是...
  • 关闭华为手机屏幕下滑搜索功能

    千次阅读 2020-09-15 15:57:33
    摘自花粉俱乐部论坛 adb shell pm disable-user com.huawei.search

    摘自花粉俱乐部论坛

    adb shell pm disable-user com.huawei.search

    展开全文
  • Android手机屏幕变化监听

    千次阅读 2017-02-27 09:12:29
    监听手机屏幕的打开关闭 package com.utils; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import ...
  • 需求:app程序进入后台或者手机屏幕关闭,开启的定时器任务(使用timers的计数任务)继续执行问题:调试手机usb连接电脑,程序进入后台或手机屏幕关闭,开启的定时器任务正常执行;但是,如果拔掉usb数据线,定时器...
  • 【整理】手机屏幕的一些术语:屏幕尺寸、屏幕色彩、屏幕材质、屏幕分辨率 1)屏幕尺寸: 一般是以英寸来说明,如华为C8655是3.5英寸,华为C8812是4.0英寸,这个是屏幕对角线的长度,1英寸=2.54厘米 至于长宽比例...
  • 解决手机关闭屏幕线程挂起问题

    千次阅读 2015-11-19 17:16:42
    最近在做一个关闭屏幕60分钟后自动下载的需求,整个模块已经竣工,测试发现在充电状态下没有任何问题可以直接下载,但是在非充电状态下自动下载失效了,这时首先要观察日志看看到底是什么情况,小插曲平时都是usb ...
  • 原文: Android 解决setRequestedOrientation之后手机屏幕的旋转触发onConfigurationChanged方法 最近在做播放器的时候遇到一个问题,在屏幕方向改变之后需要切换播放器全屏/非全屏的时候,在重写了...
  • 保持Android手机屏幕长亮

    万次阅读 2011-09-01 10:14:30
    我们知道手机为了省电设计,在一段时间没有操作的时候屏幕的灯会自动关闭,但是很多时候我们需要让手机屏幕保持亮着,例如我们使用手机看电影或者录像的时候,都需要屏幕常亮,因此这里ataaw.com归纳下在Android手机...
  • FLAG_KEEP_SCREEN_ON是让屏幕保持不关闭的最好方法,那么这个方法具体应该怎么使用呢? 我在stackoverflow上找到如下代码:  @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle);...
  • 在调用了setRequestedOrientation之后,手机屏幕的旋转触发onConfigurationChanged方法,这个时候需要再调用一次
  • 代码如下: switch ($Event) { ... 以上代码,在手机不关闭屏幕下,处在微信会话中可以获取用户坐标,但关闭手机屏幕并没退出会话,就停止读取用户坐标.请教哪位大侠怎样实现在关闭手机屏幕下也能正常读取用户坐标.
  • Android 设置手机屏幕亮度

    千次阅读 2019-03-20 10:29:36
    * 获取屏幕的亮度 * * @param activity * @return */ public static int getScreenBrightness(Activity activity) { int nowBrightnessValue = 0; ContentResolver resolver = activity.getContentResolver...
  • 有些时候需要手机屏幕常亮,比如看视频的时候 首先引入依赖https://pub.dev/packages/wakelock 然后在需要屏幕常亮的页面加上:import 'package:wakelock/wakelock.dart'; 在AndroidManifest.xml中加上:<uses...
  • 手机屏幕朝上放,如果粉尘多,会让手机屏幕积尘变脏。粘在屏幕上的灰尘过多,有些吹掉,所以不得擦除。要知道粉尘是最容易刮伤手机屏幕的。 另外,手机屏幕正面朝上放,同一个位置的水、饮料、聚会的酒水汤,一...
  • 开发后台服务的时候经常需要对屏幕状态进行判断,如果是想要监听屏幕解锁事件,可以在AndroidManifest配置里面注册action为 android.intent.action.USER_PRESENT的广播,则可以监听解锁事件。但有时候,在后台执行...
  • adb:设置手机屏幕亮度 在自动化测试过程中,有时可能会需要调节Android设备屏幕亮度的场景时,可借助adb命令来实现 获取亮度是否为自动调节 adb shell settings get system screen_brightness_mode # 输出:0...
  • h5 手机屏幕适配—REM

    千次阅读 2016-12-03 15:57:11
        rem布局就是指为文档的根节点元素设置一个基准字体大小,然后所有的元素尺寸都以rem为单位来写,为了能够在不同尺寸的手机屏幕上自适应,需要用js来判断手机宽度,并动态设置 的字体大小,这样基准字体变了...
  • 保持手机屏幕常亮无需权限

    千次阅读 2014-10-31 15:39:23
    保持手机屏幕常亮无需权限

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 60,889
精华内容 24,355
关键字:

如何让手机屏幕不关闭