下面列出了android.provider.DocumentsContract.Document#MIME_TYPE_DIR 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Add a row in the specified cursor for the specified file.
* @param child the file for which to add a row.
* @param cursor the cursor to add a row to.
*/
private void createRowForChild(File child, MatrixCursor cursor) {
MatrixCursor.RowBuilder row = cursor.newRow();
String type = getContext().getContentResolver().getType(Uri.fromFile(child));
Log.v(LOG_TAG, "createRowForChild(child=" + child + ") type=" + type);
if (type == null) type = child.isDirectory() ? Document.MIME_TYPE_DIR : "application/octet-stream";
int flags = child.isDirectory()
? /*Document.FLAG_DIR_PREFERS_GRID |*/ Document.FLAG_DIR_PREFERS_LAST_MODIFIED | Document.FLAG_DIR_SUPPORTS_CREATE
: /*Document.FLAG_SUPPORTS_WRITE*/ 0;
row.add(Document.COLUMN_FLAGS, flags);
row.add(Document.COLUMN_DISPLAY_NAME, child.getName());
row.add(Document.COLUMN_DOCUMENT_ID, getDocumentId(child));
row.add(Document.COLUMN_MIME_TYPE, type);
row.add(Document.COLUMN_SIZE, child.isDirectory() ? child.getTotalSpace() - child.getFreeSpace() : child.length());
row.add(Document.COLUMN_LAST_MODIFIED, null);
}
@Override
public String getDocumentType(final String documentId) throws FileNotFoundException {
File file = new File(documentId);
if (file.isDirectory())
return Document.MIME_TYPE_DIR;
// From FileProvider.getType(Uri)
final int lastDot = file.getName().lastIndexOf('.');
if (lastDot >= 0) {
final String extension = file.getName().substring(lastDot + 1);
final String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
if (mime != null) {
return mime;
}
}
return "application/octet-stream";
}
@Override
public String getDocumentType(final String documentId) throws FileNotFoundException {
File file = new File(documentId);
if (file.isDirectory())
return Document.MIME_TYPE_DIR;
// From FileProvider.getType(Uri)
final int lastDot = file.getName().lastIndexOf('.');
if (lastDot >= 0) {
final String extension = file.getName().substring(lastDot + 1);
final String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
if (mime != null) {
return mime;
}
}
return "application/octet-stream";
}
@Override
public String getDocumentType(final String documentId) throws FileNotFoundException {
File file = new File(documentId);
if (file.isDirectory())
return Document.MIME_TYPE_DIR;
// From FileProvider.getType(Uri)
final int lastDot = file.getName().lastIndexOf('.');
if (lastDot >= 0) {
final String extension = file.getName().substring(lastDot + 1);
final String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
if (mime != null) {
return mime;
}
}
return "application/octet-stream";
}
@Override
public String getDocumentType(final String documentId) throws FileNotFoundException {
File file = new File(documentId);
if (file.isDirectory())
return Document.MIME_TYPE_DIR;
// From FileProvider.getType(Uri)
final int lastDot = file.getName().lastIndexOf('.');
if (lastDot >= 0) {
final String extension = file.getName().substring(lastDot + 1);
final String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
if (mime != null) {
return mime;
}
}
return "application/octet-stream";
}
@Override
public String getDocumentType(final String documentId) throws FileNotFoundException {
File file = new File(documentId);
if (file.isDirectory())
return Document.MIME_TYPE_DIR;
// From FileProvider.getType(Uri)
final int lastDot = file.getName().lastIndexOf('.');
if (lastDot >= 0) {
final String extension = file.getName().substring(lastDot + 1);
final String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
if (mime != null) {
return mime;
}
}
return "application/octet-stream";
}
@Override
public String getDocumentType(final String documentId) throws FileNotFoundException {
File file = new File(documentId);
if (file.isDirectory())
return Document.MIME_TYPE_DIR;
// From FileProvider.getType(Uri)
final int lastDot = file.getName().lastIndexOf('.');
if (lastDot >= 0) {
final String extension = file.getName().substring(lastDot + 1);
final String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
if (mime != null) {
return mime;
}
}
return "application/octet-stream";
}
@Override
public String getDocumentType(final String documentId) throws FileNotFoundException {
File file = new File(documentId);
if (file.isDirectory())
return Document.MIME_TYPE_DIR;
// From FileProvider.getType(Uri)
final int lastDot = file.getName().lastIndexOf('.');
if (lastDot >= 0) {
final String extension = file.getName().substring(lastDot + 1);
final String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
if (mime != null) {
return mime;
}
}
return "application/octet-stream";
}
@Override
public String getDocumentType(final String documentId) throws FileNotFoundException {
File file = new File(documentId);
if (file.isDirectory())
return Document.MIME_TYPE_DIR;
// From FileProvider.getType(Uri)
final int lastDot = file.getName().lastIndexOf('.');
if (lastDot >= 0) {
final String extension = file.getName().substring(lastDot + 1);
final String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
if (mime != null) {
return mime;
}
}
return "application/octet-stream";
}
/**
* Get a file's MIME type
*
* @param file the File object whose type we want
* @return the MIME type of the file
*/
private static String getTypeForFile(File file) {
if (file.isDirectory()) {
return Document.MIME_TYPE_DIR;
} else {
return getTypeForName(file.getName());
}
}
public String getMimeType() {
switch (mEntry.getType()) {
case DirectoryEntry.FILE_SHARE:
case DirectoryEntry.WORKGROUP:
case DirectoryEntry.SERVER:
case DirectoryEntry.DIR:
return Document.MIME_TYPE_DIR;
case DirectoryEntry.LINK:
case DirectoryEntry.COMMS_SHARE:
case DirectoryEntry.IPC_SHARE:
case DirectoryEntry.PRINTER_SHARE:
throw new UnsupportedOperationException(
"Unsupported type of Samba directory entry " + mEntry.getType());
case DirectoryEntry.FILE:
final String ext = getExtension(mEntry.getName());
if (ext == null) {
return GENERIC_MIME_TYPE;
}
final String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext);
return (mimeType == null) ? GENERIC_MIME_TYPE : mimeType;
}
throw new IllegalStateException("Should never reach here.");
}
/**
* Get a file's MIME type
*
* @param file the File object whose type we want
* @return the MIME type of the file
*/
private static String getTypeForFile(File file) {
if (file.isDirectory()) {
return Document.MIME_TYPE_DIR;
} else {
return getTypeForName(file.getName());
}
}