Uri uri = ContentUris.withAppendedId(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, cursor.getLong(0));
时间: 2024-04-28 14:25:56 浏览: 165
这段代码是什么意思?
这段代码的作用是根据给定的ID获取媒体库中的图像URI。首先,`MediaStore.Images.Media.EXTERNAL_CONTENT_URI`表示外部存储设备上的图像内容URI。`cursor.getLong(0)`获取的是查询结果集中第一列的长整型值,可以理解为该图像的ID。然后,使用`ContentUris.withAppendedId()`方法将这个ID追加到图像内容URI的末尾,得到了该图像的完整URI。最终,该URI可以被用于加载图像或者进行其他操作。
相关问题
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Log.d("onActivityResult","success"); // if (resultCode == RESULT_OK) { // 如果返回数据 if (requestCode == REQUEST_IMAGE_CAPTURE) { try { //查询的条件语句 String selection = MediaStore.Images.Media.DISPLAY_NAME + "=? "; //查询的sql //Uri:指向外部存储Uri //projection:查询那些结果 //selection:查询的where条件 //sortOrder:排序 Log.d("onActivityResulttry","success"); Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[]{MediaStore.Images.Media._ID} ,selection,new String[]{fileName},null); Log.d("onActivityResultcursor","success"); if (cursor != null && cursor.moveToFirst()) { do { Uri uri = ContentUris.withAppendedId(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, cursor.getLong(0)); Log.d("luingssd","@"+uri); ivShowPicture = findViewById(R.id.image_view_2); ivShowPicture.setImageURI(uri); }while (cursor.moveToNext()); }else { Toast.makeText(this,"no photo",Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); } } }
这段代码是在 Activity 接收到从其他页面返回的结果后,执行的回调函数。在该函数中,首先判断返回结果是否成功(resultCode == RESULT_OK),然后根据请求码(requestCode)判断返回的是哪个操作的结果。如果是拍照操作(REQUEST_IMAGE_CAPTURE),则根据文件名查询系统相册中的图片,并将其显示在 ImageView 控件中。通过 getContentResolver().query() 方法查询系统相册中的图片,得到其 Uri,再将 Uri 传递给 ImageView 控件的 setImageURI() 方法进行显示。
android 获取音频的uri
要获取 Android 设备上的音频 URI,可以使用以下代码:
```java
Uri audioUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
```
您还可以添加筛选条件以获取特定的音频。例如,以下代码获取所有音频文件的 URI:
```java
String selection = MediaStore.Audio.Media.IS_MUSIC + "!= 0";
Cursor cursor = getContentResolver().query(audioUri, null, selection, null, null);
if (cursor != null && cursor.moveToFirst()) {
do {
Uri uri = ContentUris.withAppendedId(audioUri, cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media._ID)));
// 处理 URI
} while (cursor.moveToNext());
cursor.close();
}
```
阅读全文