首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Android Java中传递上下文并不好,但是如何访问服务中的活动呢?

在Android Java中传递上下文并不好,但是如何访问服务中的活动呢?
EN

Stack Overflow用户
提问于 2018-05-31 07:39:20
回答 1查看 45关注 0票数 0

我知道传递静态上下文是不可取的,应该避免。我理解它背后的原因。

我的问题是,我们如何访问某些在参数中需要"Activity“的调用。例如:

public class BackgroundServiceParent extends Service implements
    GoogleApiClient.ConnectionCallbacks,
    GoogleApiClient.OnConnectionFailedListener {

mGoogleApiClient = new GoogleApiClient.Builder(this)
            .addApi(Fitness.HISTORY_API)
            .addApi(Fitness.CONFIG_API)
            .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ))
            .useDefaultAccount()
            .addConnectionCallbacks(
                    new GoogleApiClient.ConnectionCallbacks() {
....

if (!result.hasResolution()) {
    // Show the localized error dialog

    GooglePlayServicesUtil.getErrorDialog(result.getErrorCode(),
     (Activity) applicationContext, 0).show();
      return;
}

if (!authInProgress) {
    try {
        authInProgress = true;
        result.startResolutionForResult((Activity) applicationContext, REQUEST_OAUTH);
         } catch (IntentSender.SendIntentException e) {
             Log.e(TAG,
             Exception while starting resolution activity", e);
    }
}
}

任何帮助理解这种情况下的最佳方法的人都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2018-05-31 07:46:45

你不需要,从服务访问活动是不好的。您可以使用绑定器在您的活动中获取服务实例,然后您可以在您的服务中注册一些回调来与您的活动进行通信。请查看此链接以获取示例https://gist.github.com/ErikHellman/4b6ecc87d1b37c9809d1

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50614718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档