我有一个谷歌登录应用程序。我检索个人资料照片uri并尝试将其保存在我的外部存储中。当我这样做时,发生 java.io.FileNotFoundException:没有内容提供者 这是我在AndroidManifest中的权限:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18"/>
检索用户信息:
GoogleSignInAccount acct = result.getSignInAccount();
String personName = acct.getDisplayName();
String personEmail = acct.getEmail();
Uri personPhotoURL = acct.getPhotoUrl();
User user = new User();
user.setName(personName);
user.setEmail(personEmail);
copyUserPhoto(personPhotoURL, user);
保存图片的功能:
private void copyUserPhoto(Uri personPhotoURL, User user){
File file = new UserDAO(getApplicationContext()).getPhotoFile(user);
if(file.exists()) file.delete();
InputStream inputStream = null;
FileOutputStream outputStream = null;
try{
inputStream = getContentResolver().openInputStream(personPhotoURL);
outputStream = new FileOutputStream(file);
int b = 0;
while((b = inputStream.read())!=-1)
outputStream.write((byte)b);
} catch (Exception e){
} finally {
try{
if(inputStream!= null)
inputStream.close();
if(outputStream!=null)
outputStream.close();
} catch (IOException e){
}
}
}
我已经阅读了很多信息,但无法找到决定。