精华内容
下载资源
问答
  • 新版的qq,可以在锁屏下弹窗显示qq消息,正好目前在做...QQ的弹窗一开始我以为是悬浮View,用WindowManager去添加,但是无论如何就是不显示,后来在朋友提示下换成Activity来实现,在锁屏状态下就能弹窗了。 2.Ac

    新版的qq,可以在锁屏下弹窗显示qq消息,正好目前在做的项目也需要这一功能。经过各种试验和资料查找,终于实现,过程不难,但是却有一些地方需要注意。

    下面是实现过程。

    1.使用Activity,而不是View

    QQ的弹窗一开始我以为是悬浮View,用WindowManager去添加,但是无论如何就是不显示,后来在朋友提示下换成Activity来实现,在锁屏状态下就能弹窗了。

    2.Activity的设置

    Activity需要进行以下设置,才可以在锁屏状态下弹窗。
    首先是onCreate方法,需要添加4个标志,如下:
    1. protected void onCreate(Bundle savedInstanceState) {  
    2.     super.onCreate(savedInstanceState);  
    3.     final Window win = getWindow();  
    4.     win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED  
    5.             | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD  
    6.             | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON  
    7.             | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);  
    8.   
    9.     // 自己的代码  
    10. }  

    四个标志位顾名思义,分别是锁屏状态下显示,解锁,保持屏幕长亮,打开屏幕。这样当Activity启动的时候,它会解锁并亮屏显示。
    然后在AndroidManifest.xml文件当中,对该activity的声明需要加上以下属性:
    1. <activity android:name=".alarm.AlarmHandlerActivity"  
    2.           android:launchMode="singleInstance"  
    3.           android:excludeFromRecents="true"  
    4.           android:taskAffinity=""  
    5.           android:theme="@android:style/Theme.Wallpaper.NoTitleBar"/>  

    而对于布局文件,要显示的view居中,背景透明。由于上面已经设置了背景为壁纸的背景,所以显示的是桌面的背景。如果背景设为默认的白色,则导致弹窗后面是一片白色,看起来很丑。如果背景设置为透明,则弹窗后面会显示出解锁后的界面(即使有锁屏密码,也是会显示解锁后的界面的),一样很影响视觉效果。

    3.在广播中启动锁屏弹窗

    我们设置的是锁屏下才弹窗的,非锁屏下就不适合弹出这个窗口了(你可以试一下,效果会很怪)。一般是注册一个广播接收器,在接收到指定广播之后判断是否需要弹窗,所以在BroadcastReceiver的接收代码中需要先判断是否为锁屏状态下:
    1.     @Override  
    2.     public void onReceive(Context context, Intent intent) {  
    3.         Log.d(LOG_TAG, intent.getAction());  
    4.         KeyguardManager km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);  
    5.         if (km.inKeyguardRestrictedInputMode()) {  
    6.             Intent alarmIntent = new Intent(context, AlarmActivity.class);  
    7.             alarmIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
    8.             context.startActivity(alarmIntent);  
    9.         }  
    10.     }  

    这里用到的是KeyguardManager类,用来管理锁屏的,4.1之后该类的API新增了一个isKeyguardLocked()的方法判断是否锁屏,但在4.1之前,我们只能用inKeyguardRestrictedInputMode()方法,如果为true,即为锁屏状态。需要注意的是,在广播中启动Activity的context可能不是Activity对象,所以需要添加NEW_TASK的标志,否则启动时可能会报错。

    4.更新弹窗信息

    如果弹窗Activity本身并不主动更新信息,当有新的信息来时需要更新Activity的界面,由于在上面我们设的是singleInstance启动模式,所以需要覆写onNewIntent(Intent intent)方法,这样当再次启动这个activity时,新的intent会在该方法中传入。

    5.再次亮起屏幕

    如果该Activity并未退出,但是被手动按了锁屏键,当前面的广播接收器再次去启动它的时候,屏幕并不会被唤起,所以我们需要在activity当中添加唤醒屏幕的代码,这里用的是电源锁。可以添加在onNewIntent(Intent intent),因为它会被调用。也可以添加在其他合适的生命周期方法。添加代码如下:
    1. PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE);  
    2. if (!pm.isScreenOn()) {  
    3.     PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP |  
    4.             PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright");  
    5.     wl.acquire();  
    6.     wl.release();  
    7. }  

    6.一些权限

    下面是实现过程中需要的一些权限,由于我是从项目代码中抽取出来的,难免多加或遗漏,开发者自己注意一下:
    1. <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>  
    2. <uses-permission android:name="android.permission.WAKE_LOCK"/>  

    第一条是解锁屏幕需要的,第二条是申请电源锁需要的。
    展开全文
  • Shopex的各种插件 4.85批量打印.rar 4.85限时抢购.rar 484抢购.rar 4[1].85限时抢购修版.rar dmjs在线漂浮客服代码,付源码 图片.rar ducegoodscat.rar DuceSlide For ShopEx4[1].8伸缩广告挂件 (效果和凡客完全...
  • 安装SP2后,大多数用户发现在访问某些需要填写验证码地方,都无法显示验证码图片(显示为一个红色小叉),这是一个非常严重Bug。解决办法为:运行“Regedit”命令打开注册表编辑器,依次定位到“[HKEY_ LOCAL_...
  • android开发技巧——仿新版QQ锁屏下弹窗

    万次阅读 热门讨论 2014-10-29 16:50:52
    新版的qq,可以在锁屏下弹窗显示qq消息,正好目前在做的项目也...QQ的弹窗一开始我以为是悬浮View,用WindowManager去添加,但是无论如果就是不显示,后来换成Activity来实现,在锁屏状态下就能弹窗了。 2.Activity

    新版的qq,可以在锁屏下弹窗显示qq消息,正好目前在做的项目也需要这一功能。经过各种试验和资料查找,终于实现,过程不难,但是却有一些地方需要注意。

    下面是实现过程。

    1.使用Activity,而不是View

    QQ的弹窗一开始我以为是悬浮View,用WindowManager去添加,但是无论如何就是不显示,后来在朋友提示下换成Activity来实现,在锁屏状态下就能弹窗了。

    2.Activity的设置

    Activity需要进行以下设置,才可以在锁屏状态下弹窗。
    首先是onCreate方法,需要添加4个标志,如下:
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            final Window win = getWindow();
            win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                    | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
                    | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                    | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
    
            // 自己的代码
        }

    四个标志位顾名思义,分别是锁屏状态下显示,解锁,保持屏幕长亮,打开屏幕。这样当Activity启动的时候,它会解锁并亮屏显示。
    然后在AndroidManifest.xml文件当中,对该activity的声明需要加上以下属性:
            <activity android:name=".alarm.AlarmHandlerActivity"
                      android:launchMode="singleInstance"
                      android:excludeFromRecents="true"
                      android:taskAffinity=""
                      android:theme="@android:style/Theme.Wallpaper.NoTitleBar"/>

    而对于布局文件,要显示的view居中,背景透明。由于上面已经设置了背景为壁纸的背景,所以显示的是桌面的背景。如果背景设为默认的白色,则导致弹窗后面是一片白色,看起来很丑。如果背景设置为透明,则弹窗后面会显示出解锁后的界面(即使有锁屏密码,也是会显示解锁后的界面的),一样很影响视觉效果。

    3.在广播中启动锁屏弹窗

    我们设置的是锁屏下才弹窗的,非锁屏下就不适合弹出这个窗口了(你可以试一下,效果会很怪)。一般是注册一个广播接收器,在接收到指定广播之后判断是否需要弹窗,所以在BroadcastReceiver的接收代码中需要先判断是否为锁屏状态下:
        @Override
        public void onReceive(Context context, Intent intent) {
            Log.d(LOG_TAG, intent.getAction());
            KeyguardManager km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
            if (km.inKeyguardRestrictedInputMode()) {
                Intent alarmIntent = new Intent(context, AlarmActivity.class);
                alarmIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(alarmIntent);
            }
        }

    这里用到的是KeyguardManager类,用来管理锁屏的,4.1之后该类的API新增了一个isKeyguardLocked()的方法判断是否锁屏,但在4.1之前,我们只能用inKeyguardRestrictedInputMode()方法,如果为true,即为锁屏状态。需要注意的是,在广播中启动Activity的context可能不是Activity对象,所以需要添加NEW_TASK的标志,否则启动时可能会报错。

    4.更新弹窗信息

    如果弹窗Activity本身并不主动更新信息,当有新的信息来时需要更新Activity的界面,由于在上面我们设的是singleInstance启动模式,所以需要覆写onNewIntent(Intent intent)方法,这样当再次启动这个activity时,新的intent会在该方法中传入。

    5.再次亮起屏幕

    如果该Activity并未退出,但是被手动按了锁屏键,当前面的广播接收器再次去启动它的时候,屏幕并不会被唤起,所以我们需要在activity当中添加唤醒屏幕的代码,这里用的是电源锁。可以添加在onNewIntent(Intent intent),因为它会被调用。也可以添加在其他合适的生命周期方法。添加代码如下:
            PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE);
            if (!pm.isScreenOn()) {
                PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP |
                        PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright");
                wl.acquire();
                wl.release();
            }

    6.一些权限

    下面是实现过程中需要的一些权限,由于我是从项目代码中抽取出来的,难免多加或遗漏,开发者自己注意一下:
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>

    第一条是解锁屏幕需要的,第二条是申请电源锁需要的。

    本文原创,转载请注明出处:http://blog.csdn.net/maosidiaoxian/article/details/40587935

    参考资料:
    http://bbs.csdn.net/topics/390425777 CSDN论坛帖子 发帖人: JJMM2009
    android api 文档。
    展开全文
  • 截图常常用来展示某一时间,某一空间下各个元素之间的状态,以及各种游戏每个精心辉宏场景,当然也为了清晰传达当时想要表达意思。 1.1课题背景 当今时代是飞速发展信息时代,人们在对信息处理中对...
  • 吸收、整合业内经验,在架构模型、设计方法论、功能特性、可运维、易用性上进行全面的升级,在前瞻性和扩展性上下足功夫,满足未来5-10年内的各种同步需求 DataLink开发时间从2016年12月开始,第一版于2017年5月份...
  • 各种聊天工具网页代码

    千次阅读 2013-12-18 20:23:13
    在网页上加QQ,MSN,skype,goolge TALK,雅虎通,贸易通,淘宝旺旺在线客服代码 如何在网页上显示腾讯QQ在线洽谈?...QQ在线咨询代码(qq在线交谈代码/qq在线客服代码/qq...更多生成显示QQ在线状态的代码,请查看腾讯官
    在网页上加QQ,MSN,skype,goolge TALK,雅虎通,贸易通,淘宝旺旺在线客服代码




    如何在网页上显示腾讯QQ在线洽谈?


    QQ在线咨询代码(qq在线交谈代码/qq在线客服代码/qq在线状态代码/qq在线客服代码)


    (将8989215换成你的号码,site后面换成你的网站就可以了)


    <a target="blank" href="http://wpa.qq.com/msgrd?V=1&Uin=88888888&Site=梦想家网店&Menu=yes"><img border="0" SRC=http://wpa.qq.com/pa?p=1:88888888:6 alt="点击这里给我发消息" align="absmiddle"></a>


    更多的生成显示QQ在线状态的代码,请查看腾讯官方网站


    http://imis.qq.com/webpresence/code.shtml


    你只需要填写你的号码,网站名称以及提示就可以点击生成就可以生成QQ在线状态的代码,拷贝生成的代码加入网页即可


    2.阿里巴巴贸易通在线状态代码生成,dreamer改成你的ID就行了,还有ALT改成你的内容


    <a target=_blank href=http://scs1.sh1.china.alibaba.com/msg.atc?v=1&uid=dreamer><img border=0 src="http://scs1.sh1.china.alibaba.com/online.atc?v=1&uid=dreamerl&s=2" alt="梦想" align="absmiddle"></a>


    更多的阿里巴巴贸易通在线状态代码生成样式,请查看阿里巴巴官方网站


    http://club.china.alibaba.com/club/block/alitalk/alitalkfire.html


    3.skype在线状态代码生成


    将dreamer换成你的skype ID就可以了,需要在skype个人账户里设置对任何人显示状态


    <a href="skype:dreamer?call" οnclick="return skypeCheck();"><img src=http://mystatus.skype.com/smallclassic/dreamer style="border: none;" alt="Call me!" /></a>


    更多的skype在线状态代码生成样式,请查看skype的官方网站


    http://www.skype.com/share/buttons/


    4.生成MSN在线状态代码,替换dreamer@live.com即可


    <A href="msnim:chat?contact=dreamer@live.com" target=blank><img  src="Images/msn.jpg" border="0" /> dreamer@live.com</A>


    5.雅虎通,把dreamer@yahoo.com替换成你的


    <a href="http://edit.yahoo.com/config/send_webmesg?.target=dreamer@yahoo.com&.src=pg"><img border=0 src="http://opi.yahoo.com/online?u=dreamer@yahoo.com&m=g&t=2&l=cn"></a>


    6.淘宝旺旺,把dreamer替换成你的


    <a target="_blank" href="http://amos1.taobao.com/msg.ww?v=2&uid=dreamer&s=1" ><img border="0" src="http://amos1.taobao.com/online.ww?v=2&uid=dreamer&s=1" alt="点击这里给我发消息" /></a>


    查看官方生成代码http://www.taobao.com/help/wangwang/wangwang_0628_04.php


    7. Google Talk


    查看官方生成代码http://www.google.com/talk/service/badge/New
    展开全文
  • 采集各省份在线QQ邮箱地址,可以选择性别,省份,年龄段,在线状态 采集速度快信息准确操作简单适合营销朋友使用 5.0更新内容 新增加了拍拍网店主QQ账号采集 ...(2)增加了,在线状态采集,删除重复,QQ详细资料显示
  • QQ的弹窗一开始我以为是悬浮View,用WindowManager去添加,但是无论如何就是不显示,后来在朋友提示下换成Activity来实现,在锁屏状态下就能弹窗了。 2.Activity的设置 Activity需要进行以下设置,才可以在锁屏状态...
  • 软件介绍: 采集各省份在线QQ邮箱地址,可以选择性别,省份,年龄段,在线状态' 采集速度快信息准确操作简单适合营销朋友使用 4.0更新内容 把之前2.0版本和3.0...(2)增加了,在线状态采集,删除重复,QQ详细资料显示
  • React Native(二):属性、状态

    千次阅读 2016-12-22 16:29:13
    欢迎一起来学习React Native,QQ群:672509442 ...以常见基础组件Image为例,在创建一个图片时,可以传入一个名为sourceprop来指定要显示的图片地址,以及使用名为styleprop来控制其尺寸。 import React,

    欢迎一起来学习React Native,QQ群:672509442


    属性

    大多数组件在创建时就可以使用各种参数来进行定制。用于定制的这些参数就称为props(属性)。

    原生组件的prop

    以常见的基础组件Image为例,在创建一个图片时,可以传入一个名为source的prop来指定要显示的图片的地址,以及使用名为style的prop来控制其尺寸。

    import React, { Component } from 'react';
    import { AppRegistry, Image } from 'react-native';
    
    class Bananas extends Component {
      render() {
        let pic = {
          uri: 'https://upload.wikimedia.org/wikipedia/commons/d/de/Bananavarieties.jpg'
        };
        return (
          <Image source={pic} style={{width: 193, height: 110}} />
        );
      }
    }
    
    AppRegistry.registerComponent('Bananas', () => Bananas);

    自定义组件的prop

    自定义的组件也可以使用props。通过在不同的场景使用不同的属性定制,可以提高自定义组件的复用性。只需在render函数中引用this.props,然后按需处理即可。下面是一个例子:

    import React, { Component } from 'react';
    import { AppRegistry, Text, View } from 'react-native';
    
    class Greeting extends Component {
      render() {
        return (
          <Text>Hello {this.props.name}!</Text>
        );
      }
    }
    
    class LotsOfGreetings extends Component {
      render() {
        return (
          <View style={{alignItems: 'center'}}>
            <Greeting name='Rexxar' />
            <Greeting name='Jaina' />
            <Greeting name='Valeera' />
          </View>
        );
      }
    }
    
    AppRegistry.registerComponent('LotsOfGreetings', () => LotsOfGreetings);

    在Greeting组件中将name作为一个属性来定制,这样就能使用name这个属性来设置不同的问候语

    效果图:

    状态

    一个组件可以通过props和state来进行控制,props在父组件中设置,一旦设置完毕,在其生命周期内就不再改变;对于那些需要时时变化的属性,我们使用state来进行控制。

    假如我们需要制作一个简单的文字闪烁的效果,对于文字的大小、字体、颜色,可以使用props设置好,我们只需要实时控制文字的可见性即可,这就用到state。

    import React, { Component } from 'react';
    import { AppRegistry, Text, View } from 'react-native';
    
    class Blink extends Component {
      constructor(props) {
        super(props);
        this.state = { showText: true };
    
        // 每1000毫秒对showText状态做一次取反操作
        setInterval(() => {
          this.setState({ showText: !this.state.showText });
        }, 1000);
      }
    
      render() {
        // 根据当前showText的值决定是否显示text内容
        let display = this.state.showText ? this.props.text : ' ';
        return (
          <Text>{display}</Text>
        );
      }
    }
    
    class BlinkApp extends Component {
      render() {
        return (
          <View>
            <Blink text='I love to blink' />
            <Blink text='Yes blinking is so great' />
            <Blink text='Why did they ever take this out of HTML' />
            <Blink text='Look at me look at me look at me' />
          </View>
        );
      }
    }
    
    AppRegistry.registerComponent('BlinkApp', () => BlinkApp);

    欢迎一起来学习React Native,QQ群:672509442


    展开全文
  • 其实网上类似实现已经很多了,原理也并不难,只是网上各种demo运行下来,多少都...6.优化快速划开多个抽屉隐藏view时多个SwipeLayout滑动状态判断处理,仅显示最后一个滑动抽屉隐藏view,隐藏前面所有打开抽屉vie
  • 各种提示:开始传送、各种异常信息提示、传送结束 功能:传文件,大小、类型、文件位置、exe格式 不同用户之间:1V1,1V多, 给群传文件 你和用户:不同的状态(在线、离线、隐身、忙碌)群组、好友-删除...
  • QQ显IP 虚拟摄像头

    2010-07-24 15:43:18
    显示好友地理位置 ...只需将自己摄像头状态设为无,对方就不会唐突要求您视频啦. 其它功能 去广告,在线表情库,向任意QQ号发起聊天,万年历等,各种实用辅助功能,总之,用赛博QQ,聊天就是这么COOL!
  • QQ活动记录器

    2008-04-26 02:37:44
    3、在软件运行后登录QQ的好友及在软件运行前状态不是"隐身"或"离线"的好友,软件判断100%正确,但对于在软件运行前是"隐身"或"离线"且其后续状态一直在"隐身"和"下线"2个状态间徘徊的好友,软件存在50%的误判率...
  • 而且各种网页都打不开,baidu,qq,csdn都打不开。 而且连注销 或者 重启都没用。 百思不得其解,我抱着试一试心态 点击了一下**“转到代理设置”** 把这个“使用代理服务器”关闭(原来是开启的状态)。之后...
  • 新版的qq,可以在锁屏下弹窗显示qq消息,正好目前在...QQ的弹窗一开始我以为是悬浮View,用WindowManager去添加,但是无论如何就是不显示,后来在朋友提示下换成Activity来实现,在锁屏状态下就能弹窗了。 2.Act...
  • 2008-10-19完善好友列表框架,好友列表按状态显示,增加好友状态图标显示, 增加鱼鱼号码等级、头像、图标等 2008-10-21解决好友列表和在线人数无法显示bug,使用clng转换类型 注意条件判断时用clng转换鱼鱼号码 ...
  • 只要你是学习或者做前端开发,肯定需要,几百种前端实例,帮助你轻松实现各种漂亮组件! 一、J Query实例大全 1)AjaxJavaScript资源 1.JS+CSS仿腾讯QQ首页搜索框无刷新换肤效果代码 2.js+css简单后台二级树形...
  • 9.修复SkinButton禁止状态绘制不显示的问题。 10.修复SkinDataGridView一些设置BUG。 11.修复SkinRadioButton属性Text为空报错问题。 12.修复属性(Shadow:是否启用窗体阴影)。 13.加入(日期面板控件:...
  • 然后dump,这个地方,可以显示出来,各种线程运行情况,这里绿色是正在运行,然后 红色是等待状态. 然后点击下面android窗口,可以看到内存,能看有没有内存泄露情况 然后左侧这里可以看activity情况,以及...
  • 就知道, 本质上, 所有显示在屏幕上东东都是窗口而已, 无论里面的显示的东西多么复杂, 多么漂亮,QQ界面也好, VS Studio编程界面也罢, 菜单栏也好, 状态栏也罢, 各种简单控件也好, 各种复杂控件也罢, 都是在窗口内...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 263
精华内容 105
关键字:

qq的各种显示状态