【问题标题】:Read google profile picture java.io.FileNotFoundException阅读谷歌个人资料图片 java.io.FileNotFoundException
【发布时间】:2020-01-05 19:16:21
【问题描述】:

我尝试在登录后读取 google 用户的个人资料图片,但遇到输入流打开错误。我不想使用 Glide 或 Picasso 库。 我的代码很标准:

protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data);

    // Result returned from launching the Intent from GoogleSignInClient.getSignInIntent(...);
    if (requestCode == RC_SIGN_IN) {
        // The Task returned from this call is always completed, no need to attach
        // a listener.
        Task<GoogleSignInAccount> completedTask = GoogleSignIn.getSignedInAccountFromIntent(data);
            try {
                final GoogleSignInAccount account = completedTask.getResult(ApiException.class);

                String email = account.getEmail();
                String deviceID = Settings.Secure.getString(LoginActivity.this.getContentResolver(), Settings.Secure.ANDROID_ID);
                Uri personPhotoURL = Uri.parse(account.getPhotoUrl().toString());

                try {
                    ContentResolver resolver = getBaseContext().getContentResolver();
                    InputStream imageStream = resolver.openInputStream(personPhotoURL);
                    Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);
                    String encodedImage = encodeImage(selectedImage);
                } catch (IOException e) {
                    e.printStackTrace();
                }

Uri 显示正确的 Url(它在插入浏览器时加载图片),但打开 imageStream 时抛出“java.io.FileNotFoundException: No content provider: https://lh3.googleusercontent.com/a-/AAuE.....”。

我该如何解决这个问题?

【问题讨论】:

    标签: java android inputstream filenotfoundexception


    【解决方案1】:

    该 URL 是一个https URL,类似于此网页的 URL。 ContentResolver 不处理这些。

    使用图像加载库(例如 Glide 或 Picasso)从 URL 加载图像。或者,使用 OkHttp 执行 Web 请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-20
      • 2018-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多