因此,我正在编写一个意图,该意图应该启动图库以查看通过其 Uri 传递到意图中的图像。这段代码工作正常,完全符合我的要求:
private Intent makeGalleryIntent(String pathToImageFile) {
Intent mGalleryIntent = new Intent(Intent.ACTION_VIEW);
mGalleryIntent.setDataAndType(Uri.parse("file://" + pathToImageFile), "image/*");
return mGalleryIntent;
}
但是当我尝试使用它时(只是在我学习的过程中尝试不同的东西),这段代码要么在模拟器上崩溃,因为它无法启动相机,要么只是在我的物理设备上拉出我的画廊:
private Intent makeGalleryIntent(String pathToImageFile) {
Intent mGalleryIntent = new Intent(Intent.ACTION_VIEW);
mGalleryIntent.setData(Uri.parse("file://" + pathToImageFile));
mGalleryIntent.setType("image/*");
return mGalleryIntent;
}
他们看起来都应该做同样的事情。另外,有没有一种方法可以仅使用 Intent 构造函数正确设置所有这些?
最佳答案
来自文档:Intent Documentation
我从来没有真正得到过为什么他们会互相抵消的答案......如果你知道为什么我喜欢听它!
关于android-intent - Android Intents - SetDataAndType 与 setData 和 setType 之间的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29507843/