刚学习了安卓开发,开发悬浮窗的时候遇到一个问题想要解决。
创建了一个应用,里面有个按钮点击后可以生成悬浮窗。
现在是在玩游戏的时候,点击悬浮窗不能触发点击事件。
只有停下游戏操作,专门点击悬浮窗才能触发点击事件。
是有什么配置能够实现在操作游戏的时候能够还能点击悬浮窗,触发悬浮窗的点击事件吗?
安卓开发如何同时触发悬浮窗和当前游戏应用响应点击事件?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
关注 让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如需一对一服务私聊我哦
问题:在游戏操作时无法触发悬浮窗的点击事件,如何解决? 解决方案:使用权限 SYSTEM_ALERT_WINDOW,让悬浮窗获得系统级别权限,可以在任何情况下触发点击事件。 代码示例: 在 AndroidManifest.xml 中添加权限声明:<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
修改创建悬浮窗的代码,添加 SYSTEM_ALERT_WINDOW 权限声明:
// 创建悬浮窗 WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); // 设置 LayoutParams.FLAG_NOT_FOCUSABLE 以及 LayoutParams.TYPE_SYSTEM_ALERT WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams( WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSLUCENT); // 添加 SYSTEM_ALERT_WINDOW 权限声明 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(this)) { Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())); startActivityForResult(intent, PERMISSION_REQUEST_CODE); return; } // 显示悬浮窗 View view = LayoutInflater.from(this).inflate(R.layout.view_float_window, null); windowManager.addView(view, layoutParams);
在 onActivityResult 方法中处理权限请求回调:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == PERMISSION_REQUEST_CODE) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && Settings.canDrawOverlays(this)) { // 拥有 SYSTEM_ALERT_WINDOW 权限,继续创建悬浮窗 createFloatWindow(); } else { // 没有 SYSTEM_ALERT_WINDOW 权限,提示用户 Toast.makeText(this, "需要 SYSTEM_ALERT_WINDOW 权限才能显示悬浮窗", Toast.LENGTH_SHORT).show(); } } }
注意:在 Android 6.0 及以上版本中,需要动态申请 SYSTEM_ALERT_WINDOW 权限,否则会出现运行时异常。在 onActivityResult 方法中处理权限请求的回调。
解决 无用评论 打赏 举报
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度