Android 悬浮窗的使用(1)

news/2024/11/18 1:31:04/

悬浮窗功能基本代码:

		//创建悬浮窗的图片,这里当然也可以用自定义的View,这里之用了简单的图片var imageView = ImageView(this)imageView.setImageResource(R.mipmap.ic_launcher)var layoutParams = WindowManager.LayoutParams()var windowManager: WindowManager = getSystemService(Context.WINDOW_SERVICE) as WindowManagerlayoutParams.format = PixelFormat.RGBA_8888layoutParams.flags =WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_NOT_FOCUSABLElayoutParams.gravity = Gravity.TOP or Gravity.LEFTlayoutParams.width = WindowManager.LayoutParams.WRAP_CONTENTlayoutParams.height = WindowManager.LayoutParams.WRAP_CONTENTlayoutParams.x = 200layoutParams.y = 200windowManager.addView(imageView, layoutParams)

如果有报错,那可能是没有设置悬浮窗的类型的原因。
只要在windowManager.addView 之前添加悬浮窗类型的代码即可

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION} elselayoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT

当然,有的需求可能不太满足,比如说我想要在桌面也显示的话怎么办?
那就得需要用户自己到应用设置里面去打开后台弹出界面了。

		/*之前的 layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION或者是 WindowManager.LayoutParams.TYPE_SYSTEM_ALERT修改成 WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY同时,需要在AndroidManifest.xml文件中申请悬浮窗权限<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />*/layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAYvar intent = Intent()intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)//跳转到应用信息界面intent.action = Intent.ACTION_AUTO_REVOKE_PERMISSIONS//跳转到哪个应用的信息界面intent.data = Uri.fromParts("package", packageName, null)startActivity(intent)

悬浮窗暂时只写这么多,如果后面还有的话我还是会补充的。
有问题的话可直接评论。


http://www.ppmy.cn/news/774569.html

相关文章

悬浮窗

VC对话框隐藏运行 (四)悬浮窗 Windows的菜单一层一层的&#xff0c;有时操作起来不方便&#xff0c;就想自己写个工具直接调用。对迅雷的悬浮窗垂涎好久了&#xff0c;哈&#xff0c;正好趁这个机会搞一搞。在悬浮窗上用快捷菜单不是很方便吗&#xff1f; 在VC知识库中找到了…

在APP内实现顶层窗口,悬浮窗功能。

在做一个电台类的app时&#xff0c;需要一个按钮始终显示在最前端&#xff0c;查找了一些博客&#xff0c;都不尽如人意&#xff0c;选择了其中写的比较好的一篇进行了修改&#xff0c;最终满足了需求。 此方法使用的是系统弹窗&#xff0c;由于我这个项目的特殊性&#xff0c…

Android 悬浮窗

悬浮窗是一种比较常见的需求。例如把视频通话界面缩小成一个悬浮窗,然后用户可以在其他界面上处理事情。 本文给出一个简单的悬浮窗实现。可缩小activity和还原大小。可悬浮在其他activity上。使用TouchListener监听触摸事件,拖动悬浮窗。 本文链接 缩放方法 缩放activit…

ios居然自带悬浮窗调试工具

我们经常使用各种调试工具&#xff0c;或者开源库来支持悬浮窗调试信息&#xff0c;但苹果的私有方法就提供了UIDebuggingInformationOverlay。 系统要求: ios10&#xff0c;iOS11 目前在我自己的手机上测试是行不通的。如果英语不错的可以去看这篇&#xff0c;看完记得通知我…

Android桌面悬浮窗

这是一篇Android悬浮窗的介绍&#xff0c;能够实现例如360&#xff0c;QQ管家那样的悬浮窗效果。后台运行了一个服务&#xff0c;用于控制在运行非桌面app情况下隐藏悬浮窗。 下面先上Demo截图&#xff1a; 上图就是所实现的简单悬浮窗示例&#xff0c;当然可以根据项目…

Android可移动的悬浮窗

1.悬浮窗权限申请&#xff1a; if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.M) {if (!Settings.canDrawOverlays(getApplicationContext())) {Intent intent new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);startActivityForResult(…

如何在html添加悬浮页面,如何设置悬浮窗口?

可以用FlashMX来制作&#xff0c;下面是教程 用FlashMX制作拖动悬浮窗口 在课件制作过程中&#xff0c;有些需要重点突出的知识点要在单独的画面中显示&#xff0c;并且要求可以拖动。这就是我们平时所说的可以拖动的悬浮窗口。笔者以Flash MX为课件制作平台&#xff0c;将实现…

Mac OS 悬浮窗口,并且可以保持在全屏的其他应用上。

最简单的一个方法NSPanel项目下载地址 #import <Cocoa/Cocoa.h>NS_ASSUME_NONNULL_BEGINinterface myWindow : NSPanelendNS_ASSUME_NONNULL_END #import "myWindow.h"implementation myWindow- (instancetype)initWithContentRect:(NSRect)contentRectstyle…