Android CognitoCachingCredentialsProvider错误“在SharedReferences中找不到有效凭据”
我正在尝试实现Amazon提供的连接到DynamoDb的示例代码。第一步是初始化客户机,Amazon说要在constants类中定义凭据并使用它们:Android CognitoCachingCredentialsProvider错误“在SharedReferences中找不到有效凭据”,android,amazon-cognito,Android,Amazon Cognito,我正在尝试实现Amazon提供的连接到DynamoDb的示例代码。第一步是初始化客户机,Amazon说要在constants类中定义凭据并使用它们: private void initClients() { CognitoCachingCredentialsProvider credentials = new CognitoCachingCredentialsProvider( context, Constants.ACCOUNT_ID,
private void initClients() {
CognitoCachingCredentialsProvider credentials = new CognitoCachingCredentialsProvider(
context,
Constants.ACCOUNT_ID,
Constants.IDENTITY_POOL_ID,
Constants.UNAUTH_ROLE_ARN,
null,
Regions.US_EAST_1);
当我执行代码时,我得到以下信息:
D/CognitoCachingCredentialsProvider﹕ 从SharedReferences加载凭据
D/CognitoCachingCredentialsProvider﹕ 在SharedReferences中找不到有效的凭据
然后,我创建了一个SharedReferences文件,并将凭据放在其中,但仍然收到相同的错误。有人知道CognitoCachingCredentialsProvider在本例中查找什么以及在哪里吗?该消息不是错误,只是通知您还没有凭据。不要担心创建SharedReferences文件,它由Cognito内部处理。一旦您通过凭据提供程序执行任何需要它获取凭据的操作,它将自动在内部缓存这些凭据。该消息不是错误,只是通知您还没有凭据。不要担心创建SharedReferences文件,它由Cognito内部处理。一旦您通过凭据提供程序执行任何需要它获取凭据的操作,它将自动在内部缓存这些凭据。请检查您的清单文件。我使用s3,错过的时候也一样
<service android:name="com.amazonaws.mobileconnectors.s3.transferutility.TransferService"
android:enabled="true" />
请检查您的清单文件。我使用s3,错过的时候也一样
<service android:name="com.amazonaws.mobileconnectors.s3.transferutility.TransferService"
android:enabled="true" />
除了Viktor Burmaka给出的答案之外,我想指出亚马逊指南有点不完整 它说要添加行:
<service
android:name="com.amazonaws.mobileconnectors.s3.transferutility.TransferService"
android:enabled="true" />
我通过Android文档找到了这个:
上面说:
<service>
SYNTAX:
<service android:description="string resource"
android:directBootAware=["true" | "false"]
android:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:icon="drawable resource"
android:isolatedProcess=["true" | "false"]
android:label="string resource"
android:name="string"
android:permission="string"
android:process="string" >
. . .
</service>
CONTAINED IN:
<application>
网络状态许可
Android Studio还要求我添加此权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
除了Viktor Burmaka给出的答案之外,我想指出亚马逊指南有点不完整 它说要添加行:
<service
android:name="com.amazonaws.mobileconnectors.s3.transferutility.TransferService"
android:enabled="true" />
我通过Android文档找到了这个:
上面说:
<service>
SYNTAX:
<service android:description="string resource"
android:directBootAware=["true" | "false"]
android:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:icon="drawable resource"
android:isolatedProcess=["true" | "false"]
android:label="string resource"
android:name="string"
android:permission="string"
android:process="string" >
. . .
</service>
CONTAINED IN:
<application>
网络状态许可
Android Studio还要求我添加此权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
这是唯一的要求吗?我认为它有第三方的东西,你可能没有把它作为唯一的要求?我认为它有第三方的东西,你可能没有放在Yet谢谢。这很有帮助,谢谢。这很有帮助。