本文介绍了是否有可能通过数据URL分享Android上的图像?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有可能与code这样的事?

分享图片

 意图份额=新意图(Intent.ACTION_SEND);
share.setData(Uri.parse(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACx\"
    +jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGoSURBVDhPlVM9SEJRGD2DkL + QmoiKYNggToJL
    +4KKLNDiKW4NCoENQkzS1uboILoKjW61NSZOjo1uOBlHPgjJsuN3jvc + naVQHPt79vu + CC9 / 37n34
    +BQkd / 0Jibw + 3Ozt4j0TwwuCaNfYU5Qe43Tg5OMDD9TWEYUAIoYJr1mIxPEmjc01fh8uF03wer6vC
    +7zGbQZRKmPp8uNCyJWKhEAwSTDJ3NNc07fUsE76J1FjjcL5VQb0O4XBAVCoqj0ZV3u2qvN + H8Psx
    +1HLAZsPn6u6pFIQsi3AYYjKBcDpVXiyqPrl2O2ayZqc + FY9jaooZuZwSJBJL8iKv1SwONdTSIJtO
    +w1g1GA4h9vfVk3mjod5mPLY4ySQMqT2kgZ0jsMjZBgOL9D1omM2qtfwmH1K7SwN4vbhnkzuQ0G5v
    +imnOHjkMjwePC7HGUSajxuDM1aqa / + wM4vJSCRnmHSkU8CwNjrVWIRDAVauFubnjaATRbCoD7m7W
    +Ox3Mg0HcaNkaduV9GPCmbbuNrLEnxXeSuzi +红/ WJ + Hx1Qu443BNWvsadqfwDOu6lic9yaAL2uK
    +Y4RMd4E2AAAAAElFTkSuQmCC));
startActivity(Intent.createChooser(份额,的getString(R.id.menu_share)));

我的目标是让我的应用程序不需要权限写入到存储,而是要能够分享其动态创建的图像。有没有办法做到这一点?


解决方案

No, because ACTION_SEND does not use the Uri. It uses EXTRA_TEXT or EXTRA_STREAM.

Create a ContentProvider to serve the file, then put the Uri pointing to your file within your provider in EXTRA_STREAM. You may be able to protect the provider with a custom permission and allow the sending activity temporary access to it via FLAG_GRANT_READ_URI_PERMISSION, though I have only tried that with Intent structures that use the actual Uri (e.g., setData()) instead of via an extra like EXTRA_STREAM.

This sample project demonstrates this technique using ACTION_VIEW (note: requires a device with a PDF viewer installed to truly work).

这篇关于是否有可能通过数据URL分享Android上的图像?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-05 13:31
查看更多