android– 从后台线程启动活动

android– 从后台线程启动活动,第1张

概述我有一个andoid-app,当用户登录时连接到WebSocket服务器.如果用户空闲一段时间或由于某种原因他的会话到期/终止,应用程序将通过WebSocket连接得到通知,我想让他回到登录活动(如果他是,则应用程序中没有任何功能)未登录).我已经研究了广泛的Intents和runOnUIThread(),但似乎无法

我有一个andoID-app,当用户登录时连接到WebSocket服务器.
如果用户空闲一段时间或由于某种原因他的会话到期/终止,应用程序将通过WebSocket连接得到通知,我想让他回到登录活动(如果他是,则应用程序中没有任何功能)未登录).

我已经研究了广泛的Intents和runOnUIThread(),但似乎无法让它工作.
我的想法是简单地注册正在运行的活动(例如,所有这些都实现了一个接口)并进行调用,但这意味着所有活动都必须实现该接口.它们中的大多数已经从BaseActivity类继承,但不是全部.

我意识到突然破坏用户流的不良做法,但除非用户有有效的会话,否则任何功能都不会起作用.

我使用android-websocket(https://github.com/koush/android-websockets)库作为客户端,如果这有任何区别.

在此先感谢托马斯

编辑:有时我也想以Toast或Dialog的形式通知用户服务器上发生了某个事件.

解决方法:

我认为这两种方法中的任何一种都应该有效:

>使用处理程序:在Activity中设置一个处理程序,覆盖其handleMessage,这样当你向它发送消息时,只需将你的Activity带到前面(或启动它).把它带到前面:

Intent i = new Intent(this, MyMainActivity.class);i.setAction(Intent.ACTION_MAIN);i.addcategory(Intent.category_LAUNCHER);startActivity(i);

>使用broadcastReceiver:没有理由不这样做,只需声明你的接收器,注册它以进行某些 *** 作(可能是自定义的)并以与上面相同的方式启动活动.一旦完成或关闭应用程序,请不要忘记取消注册.

如果您需要任何示例,请询问它.

总结

以上是内存溢出为你收集整理的android – 从后台线程启动活动全部内容,希望文章能够帮你解决android – 从后台线程启动活动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1114737.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存