代码之家  ›  专栏  ›  技术社区  ›  chawla.19

如何通过共享选项将图库中选定的图像设置到imageview中的应用程序。

  •  0
  • chawla.19  · 技术社区  · 8 年前

    我正在构建一个应用程序,在这个应用程序中,我可以将我的照片从图库分享到我的应用程序,这与“PINTEREST”的概念相同。但它会通过登录网关进行,如果用户已经登录,则会将所选图像设置为imageview或Login以继续相同的操作。“共享”选项直接来自手机图库的共享菜单,就像我们在列表视图中单击图库中的共享选项时看到的那样,即邮件、蓝牙等。

    我想知道,如何在通过图库中的“共享”选项登录后将所选图像设置为我的应用程序的图像视图。

    1 回复  |  直到 8 年前
        1
  •  1
  •   chawla.19    8 年前

    我得到了答案:) 这可以通过以下方式使用Intent来完成:

    Intent intent = getIntent();
    // Get the action of the intent
    String action = intent.getAction();
    // Get the type of intent (Text or Image)
    String type = intent.getType();
    // When Intent's action is 'ACTION+SEND' and Tyoe is not null
    if (Intent.ACTION_SEND.equals(action) && type != null) {
         if (type.startsWith("image/")) { // When type is 'image/*'
               handleSendImage(intent); // Handle single image being sent
           }
    }
    private void handleSendImage(Intent intent) {
        // Get the image URI from intent
        Uri imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
        // When image URI is not null
        if (imageUri != null) {
            // Update UI to reflect image being shared
            view_news.setImageURI(imageUri);
            news.setVisibility(View.GONE);
        } else{
            Toast.makeText(this, "Error occured, URI is invalid", Toast.LENGTH_LONG).show();
        }
    }
    

    这解决了我从图库中获取图像并在“兴趣”应用程序中的图像视图中显示图像的问题。 谢谢:)