阅读谷歌帐户照片时没有内容提供商

时间:2017-09-03 14:03:46

标签: android google-signin

我有一个谷歌登录应用程序。我检索个人资料照片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){

        }
    }
}

我已经阅读了很多信息,但无法找到决定。

0 个答案:

没有答案