下面列出了怎么用android.provider.MediaStore.Video.Media的API类实例代码及写法,或者点击链接到github查看源代码。
public static String getPath(Context context, Uri uri) {
if (uri == null) {
return null;
}
String string;
if (uri.getScheme().compareTo("content") == 0) {
Cursor query = context.getContentResolver().query(Media.EXTERNAL_CONTENT_URI, null, null, null, null);
if (query == null || !query.moveToFirst()) {
return null;
}
string = query.getString(query.getColumnIndexOrThrow("_data"));
query.close();
return string;
} else if (uri.getScheme().compareTo("file") != 0) {
return null;
} else {
string = uri.toString();
return uri.toString().replace("file://", "");
}
}
public static String getPath(Context context, Uri uri) {
if (uri == null) {
return null;
}
String string;
if (uri.getScheme().toString().compareTo("content") == 0) {
Cursor query = context.getContentResolver().query(Media.EXTERNAL_CONTENT_URI, null, null, null, null);
if (query == null || !query.moveToFirst()) {
return null;
}
string = query.getString(query.getColumnIndexOrThrow("_data"));
query.close();
return string;
} else if (uri.getScheme().compareTo("file") != 0) {
return null;
} else {
string = uri.toString();
return uri.toString().replace("file://", "");
}
}
public HashMap<String, String> getBucketIds() {
Uri uri = mBaseUri.buildUpon().appendQueryParameter("distinct", "true").build();
Cursor c = Images.Media.query(mContentResolver, uri, new String[]{Media.BUCKET_DISPLAY_NAME, Media.BUCKET_ID}, whereClause(), whereClauseArgs(), sortOrder());
try {
HashMap<String, String> hash = new HashMap<String, String>();
while (c.moveToNext()) {
hash.put(c.getString(1), c.getString(0));
}
return hash;
} finally {
c.close();
}
}
protected String whereClause() {
return mBucketId != null ? Images.Media.BUCKET_ID + " = '" + mBucketId + "'" : null;
}
@Override
protected Cursor createCursor() {
Cursor c = Images.Media.query(mContentResolver, mBaseUri, VIDEO_PROJECTION, whereClause(), whereClauseArgs(), sortOrder());
return c;
}