【问题标题】:Android studio cannot getApplicationContext() to awsAndroid Studio 无法 getApplicationContext() 到 aws
【发布时间】:2018-04-05 09:23:54
【问题描述】:

我遵循 aws 指南,但收到 getApplicationContext() 的错误。

package com.example.wcyv3.stylish;

import android.content.Context;

import com.amazonaws.auth.CognitoCachingCredentialsProvider;
import com.amazonaws.regions.Regions;

public class ManagerClass {
  public CognitoCachingCredentialsProvider getCredentials() {
    CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
                    getApplicationContext(),// Context
                    "ap-southeast-1:xxxxxxxxxxxxxxxxxxxxxxxxxxxx", // Identity pool ID

    );

    return credentialsProvider;

  }
}

【问题讨论】:

标签: javascript android amazon-web-services amazon-cognito


【解决方案1】:

这是因为你的类中没有 getApplicationContext() 方法,它属于 Activity、Fragment、Application 等。为了解决这个问题,你可以通过 constructor 传递上下文或者您可以将方法设置为static,然后将上下文作为参数传递。

通过构造函数:

public class ManagerClass {

  private Context context;

  public ManagerClass(Context context) {
    this.context = context;
  }

  public CognitoCachingCredentialsProvider getCredentials() {
    CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
                context,
                "ap-southeast-1:xxxxxxxxxxxxxxxxxxxxxxxxxxxx", // Identity pool ID

       );

    return credentialsProvider;
  }
}

或者通过静态方法的参数:

public class ManagerClass {

  public static CognitoCachingCredentialsProvider getCredentials(Context context) {
    CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
                context,
                "ap-southeast-1:xxxxxxxxxxxxxxxxxxxxxxxxxxxx", // Identity pool ID

       );

    return credentialsProvider;
  }
}

【讨论】:

    【解决方案2】:

    在您的活动类中使用此方法或在方法中使用Context 类型的参数。

    public CognitoCachingCredentialsProvider getCredentials(Context context){
        return new CognitoCachingCredentialsProvider (context, "ap-southeast-1:xxxxxxxxxxxxxxxxxxxxxxxxxxxx" // Identity pool ID
            );
    

    【讨论】:

      猜你喜欢
      • 2021-02-26
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      • 1970-01-01
      相关资源
      最近更新 更多