tisiu 2023-02-27 16:27 采纳率: 0%
浏览 18

andriod实现截取当前手机屏幕

最近学习安卓,点击按钮弹出一个悬浮窗,悬浮窗设置点击事件,可以用来截取手机当前桌面的图片。
关于activity生命周期不是很清晰
当在A界面,出发弹出框B,在B点击截图功能时,如何能够返回执行onActivityResult?
我的点击截图功能 运行到 startActivityForResult 就没有响应了。
希望好人不吝赐教。

  • 写回答

1条回答 默认 最新

  • MarkHan_ 2023-02-27 16:31
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    在Android中,当你在Activity A中调用了startActivityForResult()方法启动Activity B时,如果你希望在Activity B执行完后返回数据给Activity A,则需要在Activity B中使用setResult()方法设置返回结果,并在Activity B的finish()方法中调用该方法。

    在你的情况下,当你在B界面点击截图功能时,应该调用setResult()方法并设置返回结果,在调用finish()方法关闭B界面。这样,在B界面关闭后,Activity A的onActivityResult()方法就会被调用,并且你可以在该方法中处理B界面返回的数据。

    如果你在B界面中调用startActivityForResult()方法启动了另一个Activity C,则需要在C界面中使用setResult()方法设置返回结果,并在C界面的finish()方法中调用该方法,以便返回数据给B界面。当B界面关闭后,Activity A的onActivityResult()方法就会被调用,你可以在该方法中处理B界面返回的数据。

    另外,需要注意的是,在Android中,当一个Activity处于前台时,其他Activity的生命周期会受到影响。因此,在你的情况下,当B界面弹出悬浮窗并截图时,B界面可能会失去焦点,导致Activity A的onActivityResult()方法无法被调用。为了避免这种情况,建议你在B界面中的截图功能中使用异步线程来处理悬浮窗的操作,以避免阻塞主线程。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月27日

悬赏问题

  • ¥15 WPF动态创建页面内容
  • ¥15 如何对TBSS的结果进行统计学的分析已完成置换检验,如何在最终的TBSS输出结果提取除具体值及如何做进一步相关性分析
  • ¥15 SQL数据库操作问题
  • ¥100 关于lm339比较电路出现的问题
  • ¥15 Matlab安装yalmip和cplex功能安装失败
  • ¥15 加装宝马安卓中控改变开机画面
  • ¥15 STK安装问题问问大家,这种情况应该怎么办
  • ¥15 关于罗技鼠标宏lua文件的问题
  • ¥15 halcon ocr mlp 识别问题
  • ¥15 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线