如何在后台线程中正确地将 Activity 传递给 AccountManager?

发布于 2024-11-19 19:21:25 字数 601 浏览 2 评论 0原文

仅向 ANDROID 开发人员提出问题:

我正在寻求帮助来理解 AccountManager 类 (http://developer.android.com/reference/android/accounts/AccountManager. html)。

在文档中有一条注释:可能阻塞的请求,包括 getResult(),绝不能在应用程序的主事件线程上调用。 其中一些请求需要 Activity 启动另一个 intent(如果需要)。

我猜想在 getResult() 中,一个新的 intent 可以作为传递给请求的 activity 的子活动启动,但此代码被执行由于不同的原因,在后台线程上以及传递给请求的活动可能已经被销毁。

当我在后台线程上使用getResult()时,如何确定Activity没有被破坏(例如由于屏幕旋转)?

Question to ANDROID developers only:

I'm looking for help with understanding of AccountManager class (http://developer.android.com/reference/android/accounts/AccountManager.html).

In docs there is a note: Requests which may block, including getResult(), must never be called on the application's main event thread.
Some of these requests require Activity to start another intent if needed.

I guess in getResult() a new intent could be started as sub-activity to the activity passed to the request, but this code is executed on background thread and activity passed to request could be already destroyed due to different reasons.

When I use getResult() on background thread, how can I be sure that Activity is not destroyed (e.g. due to screen rotation)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文