2017-10-24 6 views
0

awsのガイドラインに従っていますが、getApplicationContext()のエラーが表示されます。Androidスタジオが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; 

    } 
} 
+0

スタックトレースを提供は、これをチェックしてください:

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

または静的メソッドのパラメータを経由して

https://stackoverflow.com/questions/7841232/java-android -to-to-print-out-full-stack-trace –

答えて

0

これは、あなたが問題を解決するためになど、活動に属し断片である、あなたのクラスでgetApplicationContext()方法、アプリケーションを、持っていないので、あなたはコンストラクタを経由して、コンテキストを渡すことができたりすることができますですメソッドをの静的に設定し、コンテキストをパラメータとして渡します。

経由コンストラクタ:

public class ManagerClass { 

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

     ); 

    return credentialsProvider; 
    } 
} 
0

このメソッドをアクティビティクラス内で使用するか、メソッド内でContext型のパラメータを使用します。

public CognitoCachingCredentialsProvider getCredentials(Context context){ 
    return new CognitoCachingCredentialsProvider (context, "ap-southeast-1:xxxxxxxxxxxxxxxxxxxxxxxxxxxx" // Identity pool ID 
     ); 
関連する問題