繁体   English   中英

从非活动类获取活动的结果

[英]Getting the result of an activity from a non-activity class

<摘要>

是否有一种从非活动类获取活动结果的优雅方法,还是总是会被黑客入侵? 如果可能的话,我会更好地避免这种情况吗?

</ summary>

我有一个活动,其中有一个Web服务会话的实例,通常将对其进行预先认证(会话密钥将保存在SharedPreferences中)。 但是,第一次运行时,我将需要弹出一个登录活动,该活动将用户名和密码返回到会话,然后再与服务器对话并获取会话密钥。

理想情况下,我希望非活动会话类调用startActivityForResult,但是我不确定是否有可能。 我已经看到各种有关如何完成的问题:

如何从另一个类内部的OnActivityResult获取结果?(在活动外部)

使用非活动中的startActivityForResult

但是他们似乎都有些。 我也看到了这一点,这表明传递上下文始终不是最好的主意:

http://android-developers.blogspot.co.uk/2009/01/avoiding-memory-leaks.html

另一个选择是将用户名和密码保存到sharedpreferences中,然后在另一个类中检索它,但是然后我必须要有某种方法来弄清楚何时保存了它,而且似乎都变得一团糟。

另一种选择是使会话成为非显示活动。 似乎开销很大。

我的项目仍处于计划阶段,因此我追求最佳实践。 最优雅的方法是什么?

我将使用事件总线(例如Otto,GreenRobot)将活动的结果传达给非活动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM