[英]Credentials expired using AWS TVM on Android
我正在使用UserPreferenceDemo中的一些代碼,即示例AWS Android SDK應用程序。 我有示例應用程序工作,以便它能夠創建一個新的DynamoDB表。 但是,當我嘗試在我的應用程序中實現相同的代碼時,我在AmazonClientManager類中收到日志消息“Credentials are expired”,我的應用程序崩潰了。
這是我用來創建表的代碼。
final Button submit = (Button) findViewById(R.id.bSubmitComplete)
submit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.i(TAG, "submitBttn clicked.");
new DynamoDBManagerTask()
.execute(DynamoDBManagerType.CREATE_TABLE);
}
});
這是記錄消息的代碼。
public Response validateCredentials() {
Response ableToGetToken = Response.SUCCESSFUL;
if (AmazonSharedPreferencesWrapper
.areCredentialsExpired(this.sharedPreferences)) {
synchronized (this) {
if (AmazonSharedPreferencesWrapper
.areCredentialsExpired(this.sharedPreferences)) {
Log.i(LOG_TAG, "Credentials were expired.");
AmazonTVMClient tvm = new AmazonTVMClient( this.sharedPreferences, PropertyLoader.getInstance().getTokenVendingMachineURL(), PropertyLoader.getInstance().useSSL() );
ableToGetToken = tvm.anonymousRegister();
if (ableToGetToken.requestWasSuccessful()) {
ableToGetToken = tvm.getToken();
if (ableToGetToken.requestWasSuccessful()) {
Log.i(LOG_TAG, "Creating New Credentials.");
initClients();
}
}
}
}
} else if (ddb == null) {
synchronized (this) {
if (ddb == null) {
Log.i(LOG_TAG, "Creating New Credentials.");
initClients();
}
}
}
return ableToGetToken;
}
簡單的修復,愚蠢的問題,但我正在敲打這一段時間。
卸載並重新安裝該應用程序。 現在它有效
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.