카메라에서 가져온 이미지를 s3 버킷에 업로드하려고합니다.Android에서 Java를 사용하여 Amazon S3 버킷에 이미지를 업로드하는 방법은 무엇입니까?
CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
getApplicationContext(),
"us-west-2:xxxxxxxxxxxxx",
Regions.US_WEST_2
);
AmazonS3Client s3Client = new AmazonS3Client(new AWSCredentials() {
@Override
public String getAWSAccessKeyId() {
return "XXXXXXX";
}
@Override
public String getAWSSecretKey() {
return "XXXXXXX";
}
});
TransferUtility transferUtility = new TransferUtility(s3Client,getApplicationContext());
transferUtility.upload(MY_BUCKET,file.getName(),file);
내 수영장은 우리 서쪽 -2에 있지만 내 양동이 지역은 아시아 태평양 지역에 있습니다.
위의 코드를 실행하면 충돌이 발생하고 아래에 오류가 표시됩니다.
Java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4000010 (has extras) } in com.amazonaws.mobileco[email protected]744215
at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$-android_app_LoadedApk$ReceiverDispatcher$Args_50043(LoadedApk.java:1282)
at android.app.-$Lambda$FilBqgnXJrN9Mgyks1XHeAxzSTk.$m$0(Unknown Source:4)
at android.app.-$Lambda$FilBqgnXJrN9Mgyks1XHeAxzSTk.run(Unknown Source:0)
at android.os.Handler.handleCallback(Handler.java:769)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6540)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.lang.SecurityException: ConnectivityService: Neither user 10084 nor current process has android.permission.ACCESS_NETWORK_STATE.
at android.os.Parcel.readException(Parcel.java:1948)
매니페스트 파일에 permissons 및 서비스를 추가했습니다. 이 문제를 해결하고 아시아 태평양 지역의 s3 버킷에 이미지를 보내려면 어떻게해야합니까?
내가 매니페스트 파일에서 이러한 권한이 - 오류가 명확하게 진술로
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="ANDROID.PERMISSION.ACCESS_NETWORK_STATE" />
권한이 당신이 추가됩니다 무엇입니까 매니페스트 –
<사용 권한 android : name = "android.permission.ACCESS_NETWORK_STATE"/> –
잘못된 생성자를 사용 중입니다. 당신은'credentialsProvider'를 s3Client의 입력으로 사용해야합니다. –