0

I am following the aws guidelines but get that error for 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;

  }
}
ישו אוהב אותך
  • 28,609
  • 11
  • 78
  • 96
Yan
  • 3
  • 1
  • provide the stacktrace please, check this : https://stackoverflow.com/questions/7841232/java-android-how-to-print-out-a-full-stack-trace – Yamen Nassif Oct 24 '17 at 14:23

2 Answers2

0

Either use this method inside your activity class or use a parameter of type Context in the method.

public CognitoCachingCredentialsProvider getCredentials(Context context){
    return new CognitoCachingCredentialsProvider (context, "ap-southeast-1:xxxxxxxxxxxxxxxxxxxxxxxxxxxx" // Identity pool ID
        );
Nabin Bhandari
  • 15,949
  • 6
  • 45
  • 59
0

This is because you don't have getApplicationContext() method in your class which is belong to Activity, Fragment, Application, etc. To solve the problem, you can pass the context via the constructor or you can set the method as static then passing the context as the parameter.

Via constructor:

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;
  }
}

Or via parameter of static method:

public class ManagerClass {

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

       );

    return credentialsProvider;
  }
}
ישו אוהב אותך
  • 28,609
  • 11
  • 78
  • 96