首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《Android》Lesson20-广播2

Week11  2016/11/24上午1-4节 一、复习上次课内容 《Android》Lesson19-广播1 - 简书 二、自定义广播 (1)新建Project:AndroidLesson20Broadcast2...(2)activity_main.xml添加Button (3)MainActivity为Button写onClickListener Intent intent=newIntent("")中的参数为自定义的...Action (4)新建MyBroadcastReceiver类 (5)在AndroidManifest.xml文件标签中注册receiver(静态注册) (6)改成动态注册 三、实现强制下线功能 1、...WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); android dialog使用小结 - minenamewj的专栏 - 博客频道 - CSDN.NET 解决在BroadcastReceiver...(广播接受者)中不能添加AlertDialog(对话框)的问题(android.view.WindowManager$BadTokenException) - chenfuduo_loveit的专栏

45740
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    悬浮窗开发设计实践

    7.4 Home键遇到的问题01.整体概述1.1 项目背景业务场景分析以视频通话为例,在视频通话时,我们打开其他应用或点击Home键退出时或点击缩放图标,悬浮窗会显示在其他应用之上,给人的假象是通话页面变小了...在主屏幕上添加一个TextView并展示,并且这个TextView独占一个窗口。...这个变量是用来指定窗口类型的。在设置这个变量时,需要对不同版本的Android系统进行适配。...而Android 8.0对系统和API行为做了修改,包括使用SYSTEM_ALERT_WINDOW权限的应用无法再使用一下窗口类型来在其他应用和窗口上方显示提醒窗口:如果需要实现在其他应用和窗口上方显示提醒窗口...如果在Android 8.0以上版本仍然使用TYPE_PHONE类型的悬浮窗口,则会出现如下异常信息:android.view.WindowManager$BadTokenException: Unable

    2.5K40

    Unable to add window --token is not valid

    .*** v15 (4.0.4) Build: ***:4.0.4/IMM76D/1348165925:eng/test-keys android.view.WindowManager$BadTokenException...2,什么地方可能照成此问题:当界面销毁后再弹出来;或者界面跳转时我们的view发生改变,dialog依附的context发生变化或者界面未运行了。...此外,很多时候我们需要通过一个非组件类来调用一个view类的方法来弹出dialog或Toast,这样就需要再提供一个静态context来创建这个dialog或者Toast 例如我们在一个view中通过一个静态类来弹出一个对话框...这样就无法add这个dialog。 此view用于绑定显示数据,我们在其构造方法中初始化一个静态变量mContextNew为此view的mContext。...因此如果仍然传入这个静态变量通过一个静态类来弹出对话框就会出现上述找不到window的错误了。

    46920

    Android经典面试题之Kotlin中如何隐藏DialogFragment和Dialog的导航栏

    DialogFragment隐藏导航栏 在 Android 中,使用 DialogFragment 显示对话框时,如果您希望隐藏系统导航栏(如状态栏和导航键),可以通过设置相关的系统 UI 标志来实现。...onViewCreated: 在视图创建后设置系统 UI 可见性标志,隐藏导航栏和状态栏。 onStart: 设置对话框窗口的布局参数,使其覆盖整个屏幕。...这种方法允许您的 DialogFragment 在显示时全屏,并隐藏状态栏和导航栏。...在创建 Dialog 时,可以使用 Window 类提供的一些标志来隐藏导航栏。...来使用窗口对象。 setLayout 方法将对话框设置为全屏。 systemUiVisibility 属性用于隐藏系统导航栏和状态栏。

    19510

    Android开发笔记(一百一十八)自定义悬浮窗

    WindowManager 在前面《Android开发笔记(六十六)自定义对话框》中,我们提到每个页面都是一个Window窗口,许多的Window对象需要一个管家来打理,这个管家我们称之为WindowManager...--FLAG_NOT_TOUCH_MODAL : 当窗口允许获得焦点时(即没有设置FLAG_NOT_FOCUSALBE标志),仍然将窗口之外的按键事件发送给后面的窗口处理。...,我们要实现窗口的悬浮效果,就不仅仅是调用WindowManager的addView方法那么简单了,而是需要做一系列的自定义处理,具体步骤如下: 1、在AndroidManifest.xml中声明系统窗口权限...,另外要设置标志位FLAG_NOT_FOCUSABLE; 4、在构造悬浮窗实例时,要传入Application的上下文Context,这是为了保证即使退出Activity,也不会关闭悬浮窗。...因为Application对象在app运行过程中是始终存在着的,而Activity对象只在打开页面时有效,一旦退出页面则Activity的上下文就立刻回收(这会导致依赖于该上下文的悬浮窗也一块被回收了)

    2.1K21

    必要掌握!Window、WindowManager !

    在PhoneWindow中有一个顶级View—DecorView,继承自FrameLayout,我们可以通过getDecorView()获得它,当我们调用Activity的setContentView时...Window是View的管理者,当我们说创建Window时,一方面指实例化这个管理者,一方面指 用WindowManager.addView()添加view,以view的形式来呈现Window这个概念。...使用中是通过WindowManager对的操作,无法直接访问window。下面就看看WindowManager的三个方法。...mWindowSessionde 是在ViewRootImpl创建时获取,由WindowManagerGlobal通过获取WindowManagerService来为 每个应用创建一个单独的session...输入事件的中转站:当我们的触摸屏幕时就会产生输入事件,在Android中负责管理事件的输入是InputManagerService,它里面有一个InputManager,在启动IMS的同时会创建InputManager

    1.6K30

    vc60修改快捷键-MSDEV.EXE-应用程序错误解决办法

    使用VS6.0(VC++ or other)打开或添加项目时出现[MSDEV.EXE-应用程序错误""指令引用的""内存,该内存不能为"read";""指令引用的""内存,该内存不能为"read"...从 ++ 工具 菜单, 单击 自定义 。 2. 在 自定义 对话框中, 单击 键盘 选项卡。 3. 从 类别 中选择 文件 。 4. 在命令窗口, 选择 。 5....单击 项目 菜单, 单击 添加到项目 和然后关闭的弹出 文件 命令拖释放它。 4. 在 自定义 对话框中, 选择 命令 选项卡。 5. 从 类别 列表框中选择 外接 。 6....在 自定义 对话框单击 键盘 选项卡。 从 类别 框选择 文件 。 在命令窗口中,选择 。 在 当前快捷键 窗口中选择该 Ctrl+O 条目,,然后单击 删除 。    从 类别 框选择 项目 。...单击 项目 菜单,单击 添加项目 ,然后将,弹出菜单的 文件 命令拖并释放它。 在 自定义 对话框选择该 命令 选项卡。 从 类别 列表框中选择 加载项 。

    1.4K20

    vc60修改快捷键-MSDEV.EXE 版本

    使用VS6.0(VC++ or other)打开或添加项目时出现[MSDEV.EXE-应用程序错误""指令引用的""内存,该内存不能为"read";""指令引用的""内存,该内存不能为"read"...从 ++ 工具 菜单, 单击 自定义 。 2. 在 自定义 对话框中, 单击 键盘 选项卡。 3. 从 类别 中选择 文件 。 4. 在命令窗口, 选择 。 5....单击 项目 菜单, 单击 添加到项目 和然后关闭的弹出 文件 命令拖释放它。 4. 在 自定义 对话框中, 选择 命令 选项卡。 5. 从 类别 列表框中选择 外接 。 6....在 自定义 对话框单击 键盘 选项卡。 从 类别 框选择 文件 。 在命令窗口中,选择 。 在 当前快捷键 窗口中选择该 Ctrl+O 条目,,然后单击 删除 。    从 类别 框选择 项目 。...单击 项目 菜单vc60修改快捷键,单击 添加项目 ,然后将,弹出菜单的 文件 命令拖并释放它。 在 自定义 对话框选择该 命令 选项卡。 从 类别 列表框中选择 加载项 。

    1.5K20

    路径复制

    在父文件夹的路径将复制所选项目的父文件夹的完整路径。 子菜单“设置...”中的最后一项将打开“设置”应用程序,可用于进一步自定义“路径副本复制”,包括向菜单添加更多命令。...可以通过在上下文菜单中的“路径复制副本”子菜单中选择最后一项来启动它(请参阅用法),也可以通过在Windows“开始”菜单中打开“路径复制副本设置”来启动它。这将打开一个带有多个控件的窗口。...发布新版本时,关闭上下文菜单后将出现一个窗口,显示该新版本的一些发行说明,并提供指向GitHub发行页面的链接。建议将此选项保持打开状态,以便可以提供新功能和错误修正。...专家模式可用于创建在简单模式下无法创建的自定义命令。 在幕后,在包含一个或多个元素的管道上构建了自定义命令。...在简单模式下编辑自定义命令时,可以通过类似标签的按钮访问专家模式(请参阅“自定义命令”)。同样,编辑对于简单模式而言过于复杂的现有自定义命令将在专家模式下自动打开该命令。 ?

    3.5K30

    Qt 学习记录

    按值进行传递时,函数体内不能修改传递进来的 a 的拷贝,因为默认情况下函数是const 的。要修改传递进来的 a 的拷贝,可以添加 mutable 修饰符。 &a。将 a 按引用进行传递。...模态对话框,会阻塞同一应用程序中其它窗口的输入。非模态对话框,不会阻塞同一应用程序中其它窗口的输入。 模态对话框很常见,比如“打开文件”功能。...你可以尝试一下记事本的打开文件,当打开文件对话框出现时,我们是不能对除此对话框之外的窗口部分进行操作的。非模态对话框,例如查找对话框,我们可以在显示着查找对话框的同时,继续对记事本的内容进行编辑。...>setAttribute(Qt::WA_DeleteOnClose); // 55号属性 对话框关闭时,自动销毁对话框。...QIODevice::Append: 以添加模式打开,新写入文件的数据添加到文件尾部。 QIODevice::Truncate: 以截取方式打开文件,文件原有的内容全部被删除。

    7.2K50

    java-GUI编程之AWT组件

    , 在 GUI 程序里通过该类创建窗口 Label 标签类,用于放置提示性文本 List JU表框组件,可以添加多项条目 Panel 不能单独存在基本容器类,必须放到其他容器中 Scrollbar 滑动条组件...当创建一个滑动条时,必须指定它的方向、初始值、 滑块的大小、最小值和最大值。...对话框是可以独立存在的顶级窗口, 因此用法与普通窗口的用法几乎完全一样,但是使用对话框需要注意下面两点: 对话框通常依赖于其他窗口,就是通常需要有一个父窗口; 对话框有非模式(non-modal)和模式...(modal)两种,当某个模式对话框被打开后,该模式对话框总是位于它的父窗口之上,在模式对话框被关闭之前,父窗口无法获得焦点。...,用于打开或者保存 文件,需要注意的是FileDialog无法指定模态或者非模态,这是因为 FileDialog 依赖于运行平台的实现,如果运行平台的文件对话框是模态的,那么 FileDialog 也是模态的

    3K10

    Window, WindowManager和WindowManagerService

    1.Window是什么 Window在Android开发中是一个窗口的概念,它是一个抽象类,具体的实现类是PhoneWindow,在PhoneWindow中有一个顶级View—DecorView,继承自...FrameLayout,我们可以通过getDecorView()获得它,当我们调用Activity的setContentView时,其实最终会调用Window的setContentView,当我们调用Activity...的findViewById时,其实最终调用的是Window的findViewById,这也间接的说明了Window是View的直接管理者。...子窗口:type值范围是1000~1999,PupupWindow就是一个典型的子窗口,type值是TYPE_APPLICATION_PANEL,子窗口不能独立存在,必须依附于父窗口 系统窗口:type...值范围是2000~2999,系统窗口的类型很多,上面并没有全部列举出来,系统状态栏就是一个典型的系统窗口,type值是TYPE_STATUS_BAR,与应用程序窗口不同的是,系统窗口的创建是需要声明权限的

    82010

    Android Hook技术详解

    调用下操作即可: Hook技术在项目优化中的用处 Toast WindowManager$BadTokenException tips:这一小段源码层面我们主要针对于Android7.x。...在WindowManager要添加这个Toast的时候会去校验这个token,如果token有效,则添加窗口,无效则报crash。...通常情况下是不会出现这个问题的,但是在某种情况下Android 进程某个 UI 线程的某个消息阻塞,导致toast.show()方法一直无法被调用,这个的同时NotificationManager的超时检测结束...=TYPE_TOAST的类型的toast不能重复添加,所以这样也会报一个BadTokenException,接下来我们就要通过这个demo,用hook的解决方案来解决这个异常。...一旦检测到执行成员函数finalize时超出一定时间,那么就会退出VM,抛出TimeoutException。

    3.6K60

    如何下载和安装Selenium WebDriver

    将打开一个弹出窗口对Package进行命名: 输入包的名称 单击“完成”按钮 5.在newpackage下创建一个新的Java类,右键单击它,然后选择New> Class,然后将其命名为“MyClass...”或者其他自定义名称。...您的Eclipse IDE应如下图所示: 单击“Class”时,将打开一个弹出窗口,输入详细信息: Class名称 单击“Finish”按钮 这就是创建类之后的样子: 现在...(添加外部JAR包)” 当你单击“添加外部JAR ...”时,它将打开一个弹出窗口,选择要添加的JAR文件。 选择jar包后,单击“确定”按钮。...选择lib文件夹外的文件 完成后,单击“应用并关闭”按钮 6.在“libs”文件夹内外添加所有JAR文件。现在,“属性”对话框应与下图类似。

    6K30

    【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)

    与主窗口 QMainWindow 不同,QDialog 通常不含有菜单栏、工具栏等复杂组件。 对话框分为两类: 模态对话框(Modal Dialog):阻止用户在关闭对话框前与主窗口进行交互。...用户必须在对话框内完成操作后才能返回主窗口。这种对话框常用于提示信息或者重要的用户操作。 非模态对话框(Non-modal Dialog):允许用户在对话框打开时仍然与主窗口进行交互。...8.4 自定义对话框 除了使用标准的消息框和输入框,PyQt5 允许你创建自定义对话框。通过自定义对话框,你可以根据需求添加任意控件,如按钮、文本框、复选框等。...__init__() self.setWindowTitle("自定义对话框示例") # 创建按钮,用于打开自定义对话框 self.button =...QPushButton("打开自定义对话框", self) self.button.clicked.connect(self.show_custom_dialog) #

    62711
    领券