直播平台制作,Android 悬浮窗延时5秒返回APP问题

案例需求分析:在APP界面,点击Home键后,APP退出后台,同时会打开一个悬浮窗,当用户点击悬浮窗上的按键会返回APP。

出现的问题是:点击悬浮窗上的按键没有立即返回APP,而是需要延时一段时间才会启动。

解决方案就是:如果需要在手机桌面页面点击悬浮窗上的按键快速返APP内部,就需要给 APP 添加上 APP加上

android.Manifest.permission.STOP_APP_SWITCHES 权限。

AndroidManifest.xml 清单文件中添加如下权限:


<uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
 

Android.mk 文件添加如下:


LOCAL_CERTIFICATE := platform
 

在谷歌的 Android API Guides 中,特意提醒开发者不要在后台启动 activity,包括在 Service 和 BroadcastReceiver 中,这样的设计是为了避免在用户毫不知情的情况下突然中断用户正在进行的工作。


http://developer.android.com/guide/practices/seamlessness.html#interrupt
 

优雅的解决方式就是 将intent用PendingIntent包裹:


Intent intent = new Intent(applicationContext, PlayActivity.class);
intent.putExtra(InteractionFmMainActivity.INFO_ID_KEY, PlayActivity.sParamsIdKey);
intent.putExtra(InteractionFmMainActivity.INFO_TYPE_KEY,PlayActivity.sParamsInfoTypeKey);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
try {
      PendingIntent pendingIntent = PendingIntent.getActivity(ApplicationGlobal.getGlobalContext(), 0, intent, 0);
                        pendingIntent.send();
     } catch (Exception e) {
                        e.printStackTrace();
     }

以上就是 直播平台制作,Android 悬浮窗延时5秒返回APP问题,更多内容欢迎关注之后的文章

直播平台制作,Android 悬浮窗延时5秒返回APP问题的更多相关文章

  1. Android悬浮窗及其拖动事件

    主页面布局很简单,只有一个RelativelyLayout <?xml version="1.0" encoding="utf-8"?> <R ...

  2. Android悬浮窗实现 使用WindowManager

    Android悬浮窗实现 使用WindowManager WindowManager介绍 通过Context.getSystemService(Context.WINDOW_SERVICE)可以获得  ...

  3. Android无需权限显示悬浮窗, 兼谈逆向分析app

    前言 最近UC浏览器中文版出了一个快速搜索的功能, 在使用其他app的时候, 如果复制了一些内容, 屏幕顶部会弹一个窗口, 提示一些操作, 点击后跳转到UC, 显示这个悬浮窗不需要申请android. ...

  4. Android 悬浮窗权限校验

    原文:Android 悬浮窗权限校验 悬浮窗权限: <uses-permission android:name="android.permission.SYSTEM_ALERT_WIN ...

  5. Android 悬浮窗、悬浮球开发

    原文:Android 悬浮窗.悬浮球开发 1.权限管理 直接看我另外一篇博客吧,传送门: https://my.oschina.net/u/1462828/blog/1933162 2.Base类Ba ...

  6. Android 悬浮窗 System Alert Window

    悬浮窗能显示在其他应用上方.桌面系统例如Windows,macOS,Ubuntu,打开的程序能以窗口形式显示在屏幕上. 受限于屏幕大小,安卓系统中主要使用多任务切换的方式和分屏的方式.视频播放,视频对 ...

  7. Android 悬浮窗权限各机型各系统适配大全

    这篇博客主要介绍的是 Android 主流各种机型和各种版本的悬浮窗权限适配,但是由于碎片化的问题,所以在适配方面也无法做到完全的主流机型适配,这个需要大家的一起努力,这个博客的名字永远都是一个将来时 ...

  8. 关于Android悬浮窗要获取按键响应的问题

    要在Android中实现顶层的窗口弹出,一般都会用WindowsManager来实现,但是几乎所有的网站资源都是说弹出的悬浮窗不用接受任何按键响应. 而问题就是,我们有时候需要他响应按键,比如电视上的 ...

  9. Android 使用WindowManager实现Android悬浮窗

    WindowManager介绍 通过Context.getSystemService(Context.WINDOW_SERVICE)可以获得 WindowManager对象. 每一个WindowMan ...

  10. Android 悬浮窗

    悬浮窗是一种比较常见的需求.例如把视频通话界面缩小成一个悬浮窗,然后用户可以在其他界面上处理事情. 本文给出一个简单的悬浮窗实现.可缩小activity和还原大小.可悬浮在其他activity上.使用 ...

随机推荐

  1. 大三末java实习生一面凉经

    在南京投了一些小公司,想找个实习,因为知道自己很菜,就收到了一家公司的面试. 面试一般在线上进行,我是在腾讯会议上进行的.面试官其实挺好的,一般不会为难你,因为他知道你是在校生不会懂那么多企业的技术. ...

  2. TF坐标

    1.简介 TF是一个让用户随时间跟踪多个坐标系的功能包,它使用树形数据结构,根据时间缓冲并维护多个坐标系之间的坐标变换关系. 2.TF工具 tf_monitor :查看TF树中所有坐标系的发布状态 t ...

  3. 「SHOI2015」脑洞治疗仪

    \(\text{Naive Solition}\) 当然是 \(ODT\) 暴力啦 \(Luogu\) 煞费苦心加强了数据,于是就过不了了... 不过 \(LibreOJ\) 上可以过 #includ ...

  4. python 操作 WhiteSpace 语言

    python 操作 WhiteSpace语言 目录 python 操作 WhiteSpace语言 1 WhiteSpace 简介 2 Python 操作栈流程 1 WhiteSpace 简介 Whit ...

  5. ArcGIS for Android 开发环境搭建

    ArcGIS for Android 开发环境搭建 1. 基础环境搭建 1.1. 安装JDK 安装JDK8,并设置环境变量 在cmd窗口输入java -version检查是否配置完成 java -ve ...

  6. LeetCode-1034 边界着色

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/coloring-a-border/ 题目描述 给你一个大小为 m x n 的整数矩阵 gri ...

  7. ps4双手柄inputManager设置

    ps4键位 https://blog.csdn.net/egostudio/article/details/51463819 xbox键位 http://www.360doc.com/content/ ...

  8. ABAP SORT 递减/递增

    排序 DESCENDING(递减) / ASCENDING(递增)只作用前字段 SORT  LT_VBAK BY VBELN  DESCENDING(递减). SORT  LT_VBAK BY VBE ...

  9. SAP SPOOL_INTERNAL_ERROR

    运行SE38程序 RSPO0041

  10. 微信APP支付后台配置

    1.申请商户号 ,申请成功后去配置证书APIv2 https://pay.weixin.qq.com/index.php/core/cert/api_cert#/    --MchKey  和MchI ...