在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity, 结果总是存在好几个同样的activity,就算要返回的activity正在前台,点击消息后也会重新打开一个一样的activity...,返回好几次才能退出, 而不能像qq之类的点击通知栏消息回到之前存在的activity,如果存在就不再新建一个activity 说的有点绕,如果是遇到此类问题的肯定能懂,没遇到过的估计看不懂我这混乱的表达了...NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); Notification notice = new Notification(android.R.drawable.stat_notify_chat...contentIntent =PendingIntent.getActivity(this, 0,appIntent,0); notice.setLatestEventInfo(this,"通知
前言 我们前面已经讲过关于悬浮窗的两篇文章 《Android实现可移动的悬浮窗》 《Android悬浮窗不用动态申请权限方法》 其中第一篇就是里面有针对android8.0后怎么开启悬浮窗的权限问题,必须要把应用的顶层权限开启才可以使用...今天我们就说一说第二种方法在android8.1锁屏的时候遇到的问题。...问题及解决思路 我们的程序在android8.1下悬浮窗正常使用,但是如果我们这时候锁屏了,或是截取屏幕后,我们的悬浮窗就会自己消失了。...实现效果 https://v.qq.com/x/page/n1349txxsbk.html 上面的视频可以看到,我们做了个截屏操作后,悬浮窗一会自动消失了,不过很快就又自动显示出来了。...这样就完美解决了我们出现悬浮窗消失的问题。 ---- -END-
theme: channing-cyan Android5.0新特性 Material Design设计风格 谷歌希望能够让MaterialDesign给用户带来纸张化的体验。...64位虚拟机 放弃了之前使用的Dalivk虚拟机,改用了Art虚拟机,实现真正的跨平台编译,在不同的机器平台上出现 多任务窗口OverView 每个App都是一个独立的卡片 设备识别解锁 当特定设备在Android...普通通知 折叠通知 在普通通知的基础上加入了自定义布局通过设置builder的bigContentView属性 由于布局是在App进程中,而通知明显不是App进程因此需要使用RemoteView封装自定义视图...悬浮通知 当该通知出现时会在屏幕上悬浮一段时间后自动消失 悬浮的布局和进入通知后的布局不一样。...悬浮的布局通过设置setFullScreenIntent来设置点击后的Action ToolBar 用于替代ActionBar。
滚动条的Fade时间 滚动条只有在滚动的时候才会显示,当停止滚动后,滚动条会在一段时间后渐渐消失。这里有两个时间点,一个是从停止滚动到开始消失的时间,一个是开始消失到完全消失的时间。...android:scrollbars android:scrollbarThumbVertical android:scrollbarTrackVertical android:scrollbarSize...android:verticalScrollbarPosition android:scrollbarStyle android:fadeScrollbars android:scrollbarDefaultDelayBeforeFade...android:scrollbarFadeDuration android:scrollbarAlwaysDrawVerticalTrack android:fastScrollEnabled...android:fastScrollStyle android:fastScrollAlwaysVisible 可以看到ListView中有非常多的和滚动条相关的配置选项。
日前,虽然 谷歌 宣布消灭Chrome浏览器的应用已经过去一段时间,也的确有一部分应用转换成了插件,但谷歌似乎一直没有采取相应的行动。但在近日,该公司却突然动手。 ?...应用板块和游戏板块在Chrome浏览器中一同消失,但仍然可以在Chrome OS上找到。谷歌之前表示,之所以做出这一决定,是因为几乎没有人使用这些应用。...但Chrome插件显然会在可以预见的未来继续存在下去。谷歌已经发邮件给开发者,向其告知了这一变化,该公司还将在2018年第一季度从Chrome浏览器中彻底删除应用功能。...这种模式目前已经可以在Android版Chrome上使用,而且也可以用在其他浏览器上。 简而言之,PWA为网站提供了像应用一样的功能,还有一个“应用图标”,甚至能提供推送通知和离线功能。
继报道通知栏和快速设置方面调整之后外媒Android Police再次分享了包含汉堡菜单的设置界面系统截图,不过这仅仅只是冰山一角。和此前相同,这是都是基于真实Android N上的系统截图。...同样在设 置的顶层菜单中,各个设置条目的分割线已经消失,这项调整和通知栏通知保持统一的外观。 首先,设置界面顶部新增了勿扰模式状态,可以直接通过下拉方式来进行开关切换,不得不说优先级很高。...其次,单个设置选项间的分割线消失了,只在设置类别之间有分割线。同时每个设置选项下面新增了简要说明,例如接入了哪个WiFi、流量用了多少、内存占用情况等,更加直观。...另外之前报道的汉堡菜单只会在二级和以上的设置菜单中出现,点击汉堡菜单即可以快速在一级菜单间进行切换,显然,如果只是在二级菜单的话,那么跟先点击返回,再选择一级菜单中的设置选项步骤数是一样的,但汉堡菜单能加快进入三级...(和以上)菜单后切换回一级菜单的速度。
问题分析 开发中我们经常会在适配5.0以后的机型遇到各种各样的问题,其中有一个不大不小的问题就是:Toast不显示问题 其原因是:用户使用android 5.0以上的系统在安装APP时,将消息通知的权限关闭掉了...实际上用户本意只是想关闭Notification,但是Toast的show方法中有调用INotificationManager这个类,而这个类在用户关闭消息通知权限的同时被禁用了,所以我们的吐司无法显示...} isShow = true; // 显示动画 mFadeInAnimation = new AlphaAnimation(0.0f, 1.0f); // 消失动画...Override public void onAnimationStart(Animation animation) { // 消失动画后更改状态为...参考链接 当关闭通知消息权限后无法显示系统Toast的解决方案
徽章可以有一个数字,用于通知用户未读通知的数量。用户检查更新后,徽章会从应用程序图标中消失,并在新通知到达时再次出现。 右上角带有圆点的铃铛是此类通知的常规设计。 优点: 徽章不需要用户过多关注。...通过对推送通知进行分组来最小化推送通知的数量。Android 和 iOS 允许创建一个汇总几个通知的通知。您可以显示摘要,而不是显示多个通知。 多个通知汇总并显示在折叠视图中。图片来自谷歌。 3....Toast 会在短暂的超时(最多十秒)后自动从屏幕上消失。 Android 中的 Toast 通知 优点: Toast 是上下文相关的。用户不必切换上下文来阅读信息。 不要中断用户体验。...它们暂时出现,不需要用户输入即可消失。 缺点: 丢失信息的风险。默认超时可能不足以让某些用户阅读通知。当吐司在用户阅读消息之前消失时,这是一个糟糕的用户体验。...由于 toast 会在短暂超时后消失,因此某些用户可能无法阅读错误消息。 不要使用 toast 通知来提供有关如何使用应用程序的随机提示。
前言 ---- 前一段时间由于个人原因消失了一段时间,哈哈,想我没?抱歉.0.0 好吧,我们还是来开始看下今天的内容吧。...在前面的文章中我们将到了Appbar的用户,它类似于Android中的toolbar,但是熟悉Android开发的童鞋应该知道在Android中还有个Collapsing Toolbar的东西,就是一个可以折叠的标题栏效果...接下来我们来看下bottom属性,允许我们在在下面放置你想放置其他Widget,好吧我们来放个TabBar看下 其实代码很简单,只不过我们需要让MyApp继承于 StatefulWidget,让后让State...TickerProviderStateMixin 让后给SliverAppBar增加如下代码即可。...其实很简单,因为SliverPersistentHeader跟SliverAppBar一样都有一个 pinned属性,将它设置为true这里面的内容就会在到达顶部后停止跟随ListView移动了。
所有的Activity都要在AndroidManifest.xml中进行注册才能生效如下: android="http://schemas.android.com/apk...android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme...android:id表示这个元素的id即该元素的唯一标识符。...最后android:text指定了元素中显示的文字内容。...Toast Toast是Android提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。
滑动清除,给你的通知面板更多空间 被清除的卡片短期内不会在通知面板中显示,给了其它通知更多的展示空间,但依然可以在展开后的快速设置面板中找到并进行媒体控制操作。...另外,此前这些媒体控件卡片在部分媒体应用已经退出或不再播放后依然不会消失,Google 称这种设计是为了方便用户快速回到媒体播放状态,但小部分用户不太领情。...「设置 > 声音 > 媒体」中找到)并启用「在媒体会话结束后隐藏播放器」开关。...音频输出选择 至于随着新功能的加入而来的 Bug …… 问题不大,相信 Google 会在几周后的正式版 Android 11 中解决掉。...遗憾的是「流畅画面」选项非常机缘巧合地在 Android 11 Beta 2 中消失了。
当然你还可以对控制指定固定的大小,但是这样有时候会在不同的手机屏幕上出现适配的问题。..." android:layout_height="wrap_content"/> 运行程序,就会在屏幕上看到一个圆形的进度条正在旋转。...那么数据加载完成后如何让进度条消失呢?...@Override public void onClick(DialogInterface dialog, int which) { // 点击后弹出框自动消失...@Override public void onClick(DialogInterface dialog, int which) { // 点击后弹出框自动消失
主要问题 : Toast作为Android轻量级反馈信息提示的系统控件,在目前项目中大量使用,但是由于Toast是系统层面提供的,不依赖于前台页面,存在滥用的风险。...为了规避这些风险,Google在Android系统版本的迭代过程中,不断进行了优化和限制。这些限制不可避免的影响到了正常的业务逻辑。...目前为止输入法在测试过程中主要遇到过以下几种情况: 1、多次触发,Toast会按照队列的形式一个接一个的弹出,哪怕此时App退出也会不停的弹; 2、小米机型上触发Toast会带有应用名的前缀提示; 3、关闭通知权限后...系统将该对象放入队列中,只有当前没有要显示的toast时才执行本次show请求,否则需要显示完一个Toast之后再去显示下一个Toast,如果用户无意间多次触发了这个Toast,很可能导致这个Toast在较长的一段时间内无法消失...测试过效果后,再详细给大家介绍Toast、Snackbar的优缺点。
.setWhen(System.currentTimeMillis())//通知产生的时间,会在通知信息里显示,一般是系统获取到的时间 .setPriority(Notification.PRIORITY_DEFAULT...铃声和震动均只执行一次 Notification.FLAG_AUTO_CANCEL //用户单击通知后自动消失 Notification.FLAG_NO_CLEAR //只有全部清除时...DEFAULT_NOTIFICATION_ID, notification); } /** * 设置FLAG_AUTO_CANCEL * 该 flag 表示用户单击通知后自动消失...最大高度一般为256dp b) 不是最新的通知时默认为折叠状态 c) 不设置SummaryText的话,展开后最下面一行的内容会消失 例子: private void showBigViewText...android:layout_marginTop="30dp" android:layout_marginLeft="150dp" android:text="展开后的视图
这些 APIs 允许你添加新版本有的功能,可以兼容到 Android 4.0(API level 14),然而,一个新的特征,例如回复操作会在旧版本中无法运行。...上面所示的 setFlags() 方法有助于在通过通知打开应用程序后保留用户的预期导航体验。...如果通知已经消失会发出一个新的通知。 可以选择性调用 setOnlyAlertOnce() 让通知只在第一次显示时才会中断用户(包括声音,震动,视觉),而不是以后的更新都中断用户。...移除通知 通知会在以下几种情况被移除: 用户清除 创建通知时调用了 setAutoCancel(),用户点击通知后会自动消失。 调用 cancel() 方法,传入指定ID,这个方法会删除指定通知。...调用 cancelAll() 移出所有你发出的通知 如果创建的时候调用 setTimeoutAfter() 设置了超市时间,系统会在指定时间后清除此通知,如果需要,你可以在系统清除之前清除掉。
方案适用范围 适用场景: 本方案主要解决第三方应用及系统管理工具在检测到锁屏事件后一段时间(一般为5分钟以内)内会杀死后台进程,已达到省电的目的问题。...方案实现挑战 从 Android2.3 开始调用 setForeground 将后台 Service 设置为前台 Service 时,必须在系统的通知栏发送一条通知,也就是前台 Service 与一条可见的通知时绑定在一起的...随着内部 Service 的结束,Notification 将会消失,但系统优先级依然保持为2。 3.2.4. 方案适用范围 适用于目前已知所有版本。 3.2.5. 方案具体实现 ? ? 4....方案适用范围 如下两种情况无法拉活: Service 第一次被异常杀死后会在5秒内重启,第二次被杀死会在10秒内重启,第三次会在20秒内重启,一旦在短时间内 Service 被杀死达到5次,则系统不再拉起...在本项目中,我对 JobScheduler 进行了进一步封装,兼容 Android5.0 以下版本。封装后 JobScheduler 接口的使用如下: ? ? 4.5.2.
控制器中数据无法正确保留以及数据在其复杂的生命周期中难以维护的痛点,它的生命周期感知能力需要配合 Lifecycles 组件才能实现,本文聚焦于 ViewModel 所以先不讲 Lifecycles ,关于 Lifecycles 我会在其它文章详细介绍...我觉得这个问题很重要,当我们使用任何一个新工具的时候都需要弄清楚这个问题,要结合实际情况而非盲目跟随,接下来我会逐一尝试说明 ViewModel 对比传统方案的优劣 只要你接触 Android 开发一段时间...好好的数据在你转屏的瞬间,莫名其妙的消失了 发生以上情况和 Activity 的配置更改有关, 屏幕旋转属于配置更改(Activity 生命周期内自行处理的配置更改)的情况之一,其它类似的还包括接入外置键盘...、检测到了 SIM 并更新了 MNC、布局方向发生了变化等十几种情况,发生这些情况时系统默认会关闭并重建 Activity ,这就导致了上面数据莫名其妙消失的问题。...Observer { tvTimer.text = "$it seconds elapsed" }) } } 这样 elapsedTime 在变更时就会立即通知
,这无疑会在体验上有一个明显的提升。...Doze电量管理 Android 6.0自带Doze电量管理功能,在“Doze”模式下,手机会在一段时间未检测到移动时,让应用休眠清杀后台进程减少功耗,谷歌表示,当屏幕处于关闭状态,平均续航时间提高...全新设置样式 安卓7.0启用了全新的设置样式,首先每个分类下各个子项之间的分割线消失了,只保留分类之间的分割线。...此外,如果你不停地点击菜单键的话,就会在所有应用中不间断地轮换,应用窗口会自动放大,顶部还会出现倒计时条,停止点击且倒计时结束后,当前应用会自动放大并返回到前台。...Android8.0的正式版 Android Oreo(奥利奥) 1.通知中心 用户在通知界面可以发现顶部的快捷键有了更充裕的空间,并且根据网络大数据的用户使用频繁度调整了这几个快捷键的顺序;并且长按推送消息可以看到一个开关
测试结论 测试的10个不同类型的游戏、APP中,发现开启画中画模式播放视频,同时进入天天德州游戏,视频自动暂停播放,手动点击播放视频几秒后仍然会自动暂停播放;使用QQ表现卡顿,且随机出现提示“QQ没有响应...通知圆点功能 类似 iOS 的通知角标,但不会显示具体通知数量,只会在图标右上角显示一个圆点。 当出现通知圆点时,长按应用程序图标,就会以类似气泡的形式快速预览。...而在通知中心中删除这些未读通知,应用图标上的标记点也会消失。 测试目的 通知圆点能否正常显示 测试条件 设置-应用和通知-通知-允许使用通知圆点 测试结果 ?...测试结论 从上面数据看来,Android8.0系统比Android7.0系统的后台运行程序限制并不明显,仅仅在数值上有微小的提升,普通用户在正常使用时没有明显感受。...暂时结论 Android8.0系统环境下,安装启动测试项兼容性较好;画中画模式中会出现视频自动暂停播放、其他同时运行的应用卡顿甚至提示无响应的兼容性问题;通知圆点功能暂时与目前线上应用不兼容;后台进程限制的体验效果
应用待机模式 : 延迟近期没有使用过的应用的网络活动 ; 一、Doze 低耗电模式简介 ---- 手机进入 Doze 低耗电模式条件 : 未接通电源 屏幕关闭 设备处于不活动状态 , 并且已经维持了一段时间...没有在白名单中 Doze 低耗电模式下 , 延迟 CPU 和网络使用 , 每隔一段时间有一段维护时间 , 在维护窗口时间内 , 集中执行被延迟的 CPU 和 网络操作 ; 维护期结束后 , 再次进入...和网络操作 ; 退出 Doze 低耗电模式 : 充电 唤醒设备 下图是官网给出的 Doze 工作示意图 , 横轴代表时间 , 橙色部分表示 CPU 工作时间 , 绿色部分表示设备处于休眠状态 ; CPU 会在维护窗口期...集中执行一些任务 , 剩余的时间处于休眠状态 ; 低耗电模式限制的操作 : 访问网络 唤醒锁定 AlarmManager 闹钟管理器操作 WLAN 扫描 同步适配器 JobScheduler 上述操作都会在...: 用户启动的应用 应用有前台进程运行 该应用有对应的通知处于可见状态 设备管理器应用 三、Doze 和 Standby 模式测试 ---- Doze 低耗电模式测试 : 进入 Doze 模式 : 进入