如何在后台线程中正确地将 Activity 传递给 AccountManager?
仅向 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论