Android:在两个活动之间传递图像及其URI的问题

4

我们能否使用 bundle 技术将图片和图片 URI 传递给同一应用程序中的其他活动?请为我提供一些方法。

用法:实际上,我已经创建了一个活动,可以裁剪从相机或存储在 SD 卡中的图像,这取决于用户。还有另一个应用程序,它使用背景图像和边框图像来形成重叠,以便查看照片框架

因此,现在我想将两个应用程序合并,使来自第一个应用程序的裁剪图像成为第二个应用程序的背景图像。也就是出现在照片框架中。我该如何做到这一点呢?


2
为什么要传递一张图片呢?为什么不把它放在Android提供的res目录中呢? - ngesh
无论如何不要通过意图附加传递图像。http://stackoverflow.com/questions/6451202/android-certain-intent-extras-prevent-activity-finish - Maxim
1
你可以查看以下链接:https://dev59.com/AG855IYBdhLWcg3wbjrOhttps://dev59.com/kVnUa4cB1Zd3GeqPXRp0 - Hanry
我已经传递了图像的Uri。 - Geetanjali
2个回答

4

一旦您将图像保存在SD卡中,

使用此方法调用其他活动。

final Intent intent = new Intent(MyClass.this, TargetClass.class);
final String root = Environment.getExternalStorageDirectory().getAbsolutePath();
intent.setData(Uri.parse(root + "/my/image/path/image.png"));
startActivity(intent);

如果您是接收者,则可以通过调用以下函数获取路径

Uri path = getIntent().getData();

在接收活动的 onCreate 方法中,这是检查其他活动路径的标准方式。

1

是的,您可以传递URI对象,请参见http://developer.android.com/reference/android/os/Bundle.html中的putParcelable方法,URI已经实现了Parcelable接口,您可以使用相应的get方法来获取它。如果任何实现Parcelable接口的对象,我们都可以使用Bundle进行传递。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接