我的应用程序需要打开几张图片。我需要允许用户从他收集的图片中选择并在我的应用程序中使用。我有两个问题:
答案 0 :(得分:2)
此代码将使用intent操作启动系统活动或任何已注册的应用程序,并允许您从库中选择图像(相册,相机照片等)
....
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, CHOOSE_FILE_RESULT_CODE);
.....
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// User has picked an image.
Uri uri = data.getData();
//File URI..
}
如果您只想要相机图像,可以通过在存储桶名称上过滤它们来获取相机图像列表。在这种情况下,您可以阅读缩略图并将其显示在您自己的活动中,并要求用户选择。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String[] projection = {
MediaStore.Images.Media._ID, MediaStore.Images.Media.BUCKET_DISPLAY_NAME,
MediaStore.Images.Media.DISPLAY_NAME
};
String selection = MediaStore.Images.Media.BUCKET_DISPLAY_NAME + " = ?";
String[] selectionArgs = new String[] {
"Camera"
};
Cursor mImageCursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
projection, selection, selectionArgs, null);
while (mImageCursor.moveToNext()) {
Log.d("TestActivity", mImageCursor.getString(1) + " " + mImageCursor.getString(2));
}
}