从我的 Android 应用程序中的图片应用程序访问图片
就像iPhone有一个UIImagePickerController让用户访问设备上存储的图片一样,我们Android SDK中是否也有类似的控件呢?
谢谢。
Just like the iPhone has a UIImagePickerController to let the user access pictures stored on the device, do we have a similar control in the Android SDK?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用
startActivityForResult
,传入一个 Intent,该 Intent 描述您想要完成的操作以及要执行该操作的数据源。幸运的是,Android 包含一个用于拾取东西的 Action:
Intent.ACTION__PICK
和一个包含图片的数据源:android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI
用于本地设备上的图像或android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
用于 SD 卡上的图像。调用
startActivityForResult
传入选择操作和您希望用户从中选择的图像,如下所示:然后重写
onActivityResult
以监听用户做出的选择。获得图像 Uri 后,您可以使用它来访问该图像并对其执行任何您需要执行的操作。
You can use
startActivityForResult
, passing in an Intent that describes an action you want completed and and data source to perform the action on.Luckily for you, Android includes an Action for picking things:
Intent.ACTION__PICK
and a data source containing pictures:android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI
for images on the local device orandroid.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
for images on the SD card.Call
startActivityForResult
passing in the pick action and the images you want the user to select from like this:Then override
onActivityResult
to listen for the user having made a selection.Once you have the image Uri you can use it to access the image and do whatever you need to do with it.
您还可以执行以下操作:
这将在所有存储中选取图像。
You can also do:
This will pick images across all storages.
只是对雷托给出的答案的更新。 您可以这样做来缩放图像:
Just an update to the answer given by Reto. You could do this to scale the image :