gpt4 book ai didi

android - 如何使用本地服务实例调用在 ILocalService.java 接口(interface)中声明的 onServiceConnected() 之外的方法

转载 作者:行者123 更新时间:2023-11-30 04:38:30 25 4
gpt4 key购买 nike

关于 Local Service Sample我已成功定义在 ILocalService.java 中声明的方法,但我不知道如何在 Activity 的 onServiceConnected() 之外调用这些方法。我只能从 onServiceConnected() 中调用它们,这似乎没有多大用处。我仅限于此吗?这是我的 ILocalService.java:

/**************************************************************************************************
* Filename: ILocalService.java
* Project name: Local Service Sample
* Application name: Local Service
* Description: This file contains an example interface for LocalService
**************************************************************************************************/

package com.marie.localservicesample;

public interface ILocalService {

public LocalService getService();

public int getStatusCode();
}

我的假设是我应该能够调用在 ILocalService.java 中声明的方法。绑定(bind)到我的 LocalService.java 的 Activity 不应将这些调用限制在 onServiceConnected()。我该怎么做?

最佳答案

如果您将在 serviceConnected 方法之外使用服务引用。大多数情况下它会抛出空指针异常。

在您的 Activity 中创建一个按钮并尝试在其 onClick 中使用服务引用。单击按钮至少等待 10 秒。它会正常工作。

这表明服务需要时间来绑定(bind)到本地引用变量。ServiceConnected 方法仅用于告知服务已连接并且现在可用。

为了在 serviceConnected 方法之外正确使用服务。您可以在 serviceConnected 方法中维护一个 bool 标志。

在标志值(value)的基础上随时随地使用服务

据我所知。

希望对您有所帮助:)

关于android - 如何使用本地服务实例调用在 ILocalService.java 接口(interface)中声明的 onServiceConnected() 之外的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6420595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com