我如何从 Gmail 接收图像到我的 Android 应用程序

发布于 2024-10-20 22:51:07 字数 300 浏览 6 评论 0原文

我有一个应用程序,可以通过 Android 上的 Gmail 中的“预览图像”接受图像

我有 Uri:

content://gmail-ls/messages/my_gmail_id_@_gmail.com/65/attachments/0.1/SIMPLE/false

Astro图像查看器或图库可以很好地显示图像

我可以使用 URI:content://media/external/images/media/79

但我不知道如何使用此 Uri 在我的应用程序中显示图像。

请帮助我

I've got an app that accepts images via "Preview images" in Gmail on Android

I have the Uri :

content://gmail-ls/messages/my_gmail_id_@_gmail.com/65/attachments/0.1/SIMPLE/false

The Astro image viewer or Gallery can display the image very well

I can use the URI : content://media/external/images/media/79

but I dont know how to use this Uri to display image in my app.

Help me please

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

━╋う一瞬間旳綻放 2024-10-27 22:51:07

对最后一个答案感到抱歉。我在那里有点尴尬。
但这应该是您正在寻找的更多内容。这个确切的代码可能会也可能不会运行,但从概念上讲,这是我发现它应该工作的方式。如果您有任何问题,请告诉我。


//Get your uri
Uri mAndroidUri = Uri.parse("content://gmail-ls/messages/my_gmail_id_@_gmail.com/65/attachments/0.1/SIMPLE/false");
ImageView iv = new ImageView(context);

try{
    //converts android uri to java uri then from that to file
    //after converting to file you should be able to manipulate it in anyway you like. 
    File mFile = new File(new URI(mAndroidUri.toString()));

    Bitmap bmp = BitmapFactory.decodeStream(mFile);
    if (null != bmp)
        iv.setImageBitmap(bmp);
    else
        System.out.println("The Bitmap is NULL");

    }catch(Exception e){}
}

Sorry about that last answer. I am a bit embarrassed there.
But this should be more of what you are looking for. This exact code may or may not run but conceptually this is way I found it should work. Let me know if you have any issues.


//Get your uri
Uri mAndroidUri = Uri.parse("content://gmail-ls/messages/my_gmail_id_@_gmail.com/65/attachments/0.1/SIMPLE/false");
ImageView iv = new ImageView(context);

try{
    //converts android uri to java uri then from that to file
    //after converting to file you should be able to manipulate it in anyway you like. 
    File mFile = new File(new URI(mAndroidUri.toString()));

    Bitmap bmp = BitmapFactory.decodeStream(mFile);
    if (null != bmp)
        iv.setImageBitmap(bmp);
    else
        System.out.println("The Bitmap is NULL");

    }catch(Exception e){}
}

躲猫猫 2024-10-27 22:51:07

这对我有用:

    if (uri.toString().startsWith("content://gmail")) { // special handling for gmail
        Bitmap b;
        InputStream stream = activity.getContentResolver().openInputStream(uri);
        b = BitmapFactory.decodeStream(stream);
    }

This worked for me:

    if (uri.toString().startsWith("content://gmail")) { // special handling for gmail
        Bitmap b;
        InputStream stream = activity.getContentResolver().openInputStream(uri);
        b = BitmapFactory.decodeStream(stream);
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文