0

我有一个应用程序连接到这样的服务:

getActivity().startService(intent);

但是,我意识到,当方向改变时,与服务的连接会中断并重新创建(由于活动生命周期),这不是我想要的。我读到正确的做法是使用片段并在其上调用 setRetainInstance(true) 以使与服务的连接持续存在。但是,由于重新创建了活动,因此 getActivity().startService(intent) 没有意义,因为一旦方向更改,服务似乎与不再存在的活动相关联。这是使用 getApplicationContext 的时候吗,因为即使在重新创建活动之后它也应该是相同的?另一个但是,如果我这样做,因为我必须像这样在 UI 线程中启动服务:

        getApplicationContext().runOnUiThread(new Runnable() {
            public void run() {
                getApplicationContext().startService(intent);

            }
        });

它不起作用,因为 getApplicationContext() 没有 runOnUiThread 函数。

关于如何从这样的持久片段连接到服务的任何想法?

4

0 回答 0