0

好的,我明白了,当您绑定到远程Service时,它不会绑定,直到您从回调中返回。我需要绑定到服务并立即从中执行一些方法。有什么办法吗?我的代码如下所示:

try {
            Parser parser = FrameworkBridge.getFrameworkBridge(this).getParser();
            if (parser != null) {
                for (Article a : parser.getArticlesList("http://www.bt.dk/mecommobile/latest/news_article/%s/%s?output_type=xml", 1379, 20)) {
                    listAdapter.add(a);
                }
            }
        } catch (RemoteException e) {
            Log.d(TAG, "Service communication failure");
        } catch (FrameworkNotInstalledException e) {
            Log.d(TAG, "No framework installed. Install it!");
        }

这里FrameworkBridge.getFrameworkBridge(this).getParser()执行所有服务连接例程并返回远程接口。问题是——当我在上面的代码中时,连接还没有执行,因此parsernull. 在退出代码之前如何使其连接?

4

2 回答 2

0
mContext.bindService( new Intent("name of the class"), this, Context.BIND_AUTO_CREATE);

您存储的上下文副本的上述方法调用应该在您需要时自动绑定服务。我不是 100% 肯定,但这应该对你有所帮助。

于 2011-03-10T11:23:17.943 回答
0

onServiceConnected(..) 将告诉您何时连接服务并建立远程接口。在触发之前不要尝试调用服务中的任何方法。

于 2011-03-10T12:11:54.737 回答