gpt4 book ai didi

android - 使用singleTask时如何处理每个Intent

转载 作者:太空宇宙 更新时间:2023-11-03 11:25:49 25 4
gpt4 key购买 nike

我正在使用一个单任务模式 Activity ,它通过指定一个 Intent 过滤器来处理某种类型的文件。我需要只处理一次这样的文件 Intent。问题是 onNewIntent() 只有在任务已经存在时才会被调用,这迫使我也处理来自 onCreate() 的 Intent 。不幸的是,onCreate() 被调用的原因有很多(例如屏幕旋转),并且 getIntent() 返回的 Intent 可能在多个 onCreate() 中是相同的。当然,可以使用一些丑陋的 hack 来解决这个问题,但我想知道优雅的解决方案是什么。到目前为止,我想出的最好的解决方案是每次处理完一个 Intent 后都设置 Intent(new Intent(Intent.ACTION_MAIN)) 。这与 Web 服务器如何在 POST 页面之后将您重定向到 GET 页面以避免因刷新而重做操作的方式类似。

谢谢!

最佳答案

我不确定我是否遇到了你的问题,但是一旦你调用了一个 Intent 并开始了新的 Activity ,调用 finish() 后立即;结束您要离开的 Activity 。这将结束您的最后一个 Activity ,并防止多个 Activity 同时运行。

此外,如果您使用屏幕旋转作为启动 Activity 的一种方式,您始终可以通过使用“If 和 Else”语句设置一些检查来控制您不想多次启动哪个 Activity。

关于android - 使用singleTask时如何处理每个Intent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6527857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com