类android.webkit.MimeTypeMap源码实例Demo

下面列出了怎么用android.webkit.MimeTypeMap的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: secrecy   文件: LocalStorageProvider.java
@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";
}
 
源代码2 项目: DeviceConnect-Android   文件: FileProvider.java
/**
 * ファイル名からMIMEタイプ取得.
 *
 * @param file ファイル
 * @return MIMEタイプ
 */
private String getMIMEType(final File file) {
    // 拡張子を取得
    String fileName = file.getName();
    int pos = fileName.lastIndexOf(".");
    String ext = (pos >= 0) ? fileName.substring(pos + 1) : null;
    if (ext != null) {
        // 小文字に変換
        ext = ext.toLowerCase(Locale.getDefault());
        // MIME Typeを返す
        return MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext);
    } else {
        // 拡張子が見つからない
        return null;
    }
}
 
源代码3 项目: attach   文件: FileProvider.java
/**
 * Returns the MIME type of a content URI returned by
 * {@link #getUriForFile(Context, String, File) getUriForFile()}.
 *
 * @param uri A content URI returned by
 * {@link #getUriForFile(Context, String, File) getUriForFile()}.
 * @return If the associated file has an extension, the MIME type associated with that
 * extension; otherwise <code>application/octet-stream</code>.
 */
@Override
public String getType(Uri uri) {
    // ContentProvider has already checked granted permissions
    final File file = mStrategy.getFileForUri(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";
}
 
private String getMimeTypeFromPath(String path) {
    String extension = path;
    int lastDot = extension.lastIndexOf('.');
    if (lastDot != -1) {
        extension = extension.substring(lastDot + 1);
    }
    // Convert the URI string to lower case to ensure compatibility with MimeTypeMap (see CB-2185).
    extension = extension.toLowerCase(Locale.getDefault());
    if (extension.equals("3ga")) {
        return "audio/3gpp";
    } else if (extension.equals("js")) {
        // Missing from the map :(.
        return "text/javascript";
    }
    return MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
}
 
源代码5 项目: FireFiles   文件: DocumentArchive.java
private String getMimeTypeForEntry(ZipEntry entry) {
    if (entry.isDirectory()) {
        return Document.MIME_TYPE_DIR;
    }

    final int lastDot = entry.getName().lastIndexOf('.');
    if (lastDot >= 0) {
        final String extension = entry.getName().substring(lastDot + 1).toLowerCase(Locale.US);
        final String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
        if (mimeType != null) {
            return mimeType;
        }
    }

    return BASIC_MIME_TYPE;
}
 
@ReactMethod
public void getFileInfo(String path, final Promise promise) {
  try {
    WritableMap params = Arguments.createMap();
    File fileInfo = new File(path);
    params.putString("name", fileInfo.getName());
    if (!fileInfo.exists() || !fileInfo.isFile())
    {
      params.putBoolean("exists", false);
    }
    else
    {
      params.putBoolean("exists", true);
      params.putString("size",Long.toString(fileInfo.length())); //use string form of long because there is no putLong and converting to int results in a max size of 17.2 gb, which could happen.  Javascript will need to convert it to a number
      String extension = MimeTypeMap.getFileExtensionFromUrl(path);
      params.putString("extension",extension);
      String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension.toLowerCase());
      params.putString("mimeType", mimeType);
    }

    promise.resolve(params);
  } catch (Exception exc) {
    Log.e(TAG, exc.getMessage(), exc);
    promise.reject(exc);
  }
}
 
源代码7 项目: L.TileLayer.Cordova   文件: CordovaResourceApi.java
private String getMimeTypeFromPath(String path) {
    String extension = path;
    int lastDot = extension.lastIndexOf('.');
    if (lastDot != -1) {
        extension = extension.substring(lastDot + 1);
    }
    // Convert the URI string to lower case to ensure compatibility with MimeTypeMap (see CB-2185).
    extension = extension.toLowerCase(Locale.getDefault());
    if (extension.equals("3ga")) {
        return "audio/3gpp";
    } else if (extension.equals("js")) {
        // Missing from the map :(.
        return "text/javascript";
    }
    return MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
}
 
源代码8 项目: reader   文件: CordovaResourceApi.java
private String getMimeTypeFromPath(String path) {
    String extension = path;
    int lastDot = extension.lastIndexOf('.');
    if (lastDot != -1) {
        extension = extension.substring(lastDot + 1);
    }
    // Convert the URI string to lower case to ensure compatibility with MimeTypeMap (see CB-2185).
    extension = extension.toLowerCase(Locale.getDefault());
    if (extension.equals("3ga")) {
        return "audio/3gpp";
    } else if (extension.equals("js")) {
        // Missing from the map :(.
        return "text/javascript";
    }
    return MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
}
 
源代码9 项目: VBrowser-Android   文件: MainActivity.java
@Override
public boolean shouldOverrideUrlLoading(XWalkView view, String url) {
    if (!(url.startsWith("http") || url.startsWith("https"))) {
        //非http https协议 不动作
        return true;
    }

    //http https协议 在本webView中加载

    String extension = MimeTypeMap.getFileExtensionFromUrl(url);
    if(VideoFormatUtil.containsVideoExtension(extension)){
        detectedTaskUrlQueue.add(new DetectedVideoInfo(url,currentUrl,currentTitle));
        Log.d("MainActivity", "shouldOverrideUrlLoading detectTaskUrlList.add(url):" + url);
        return true;
    }

    Log.d("MainActivity", "shouldOverrideUrlLoading url="+url);
    view.loadUrl(url);
    return true;
}
 
源代码10 项目: wildfly-samples   文件: CordovaResourceApi.java
private String getMimeTypeFromPath(String path) {
    String extension = path;
    int lastDot = extension.lastIndexOf('.');
    if (lastDot != -1) {
        extension = extension.substring(lastDot + 1);
    }
    // Convert the URI string to lower case to ensure compatibility with MimeTypeMap (see CB-2185).
    extension = extension.toLowerCase(Locale.getDefault());
    if (extension.equals("3ga")) {
        return "audio/3gpp";
    } else if (extension.equals("js")) {
        // Missing from the map :(.
        return "text/javascript";
    }
    return MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
}
 
源代码11 项目: qiniu-lab-android   文件: LocalStorageProvider.java
@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";
}
 
源代码12 项目: Android-RTEditor   文件: MediaUtils.java
public static File createUniqueFile(File targetFolder, String originalFile, String mimeType, boolean keepOriginal) {
    /*
     * We try to get the extension from the file name first.
     * If that fails (e.g. for images provided by the picasa content provider)
     * we use the mime type to determine the extension.
     * The extension is important to be able to determine the correct content type
     * once we create a MIME message.
     */
    String extension = FilenameUtils.getExtension(originalFile);
    if (isNullOrEmpty(extension)) {
        extension = MimeTypeMap.getSingleton().getExtensionFromMimeType(mimeType);
    }

    String random = Long.toString(Math.round(Math.random() * Integer.MAX_VALUE));        // random part
    long timestamp = Calendar.getInstance().getTimeInMillis();                            // time stamp

    if (keepOriginal) {
        String baseName = FilenameUtils.getBaseName(originalFile);
        return new File(targetFolder + File.separator + baseName + "_" + random + "_" + timestamp + "." + extension);
    } else {
        return new File(targetFolder + File.separator + random + "_" + timestamp + "." + extension);
    }
}
 
源代码13 项目: countly-sdk-cordova   文件: CordovaResourceApi.java
private String getMimeTypeFromPath(String path) {
    String extension = path;
    int lastDot = extension.lastIndexOf('.');
    if (lastDot != -1) {
        extension = extension.substring(lastDot + 1);
    }
    // Convert the URI string to lower case to ensure compatibility with MimeTypeMap (see CB-2185).
    extension = extension.toLowerCase(Locale.getDefault());
    if (extension.equals("3ga")) {
        return "audio/3gpp";
    } else if (extension.equals("js")) {
        // Missing from the map :(.
        return "text/javascript";
    }
    return MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
}
 
源代码14 项目: FireFiles   文件: DocumentArchive.java
private String getMimeTypeForEntry(ZipEntry entry) {
    if (entry.isDirectory()) {
        return Document.MIME_TYPE_DIR;
    }

    final int lastDot = entry.getName().lastIndexOf('.');
    if (lastDot >= 0) {
        final String extension = entry.getName().substring(lastDot + 1).toLowerCase(Locale.US);
        final String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
        if (mimeType != null) {
            return mimeType;
        }
    }

    return BASIC_MIME_TYPE;
}
 
public static void loadV6AsyncParallel(Context context, final URL url,
									   final Callback callback) {

	final String modelId = url.toString().toLowerCase();
	String fileExtension = MimeTypeMap.getFileExtensionFromUrl(modelId);
	if (fileExtension.equals("obj")) {
		WavefrontLoader2.loadAsync(context, url, callback);
	} else if (fileExtension.equals("dae")) {
		ColladaLoader.loadAsync(url, callback);
	}
}
 
源代码16 项目: mvvm-template   文件: MarkDownProvider.java
public static boolean isMarkdown(@Nullable String name) {
    if (InputHelper.isEmpty(name)) return false;
    name = name.toLowerCase();
    for (String value : MARKDOWN_EXTENSIONS) {
        String extension = MimeTypeMap.getFileExtensionFromUrl(name);
        if ((extension != null && value.replace(".", "").equals(extension)) ||
                name.equalsIgnoreCase("README") || name.endsWith(value))
            return true;
    }
    return false;
}
 
源代码17 项目: deltachat-android   文件: MediaUtil.java
public static String getExtensionFromMimeType(String contentType) {
  String extension =  MimeTypeMap.getSingleton().getExtensionFromMimeType(contentType);
  if (extension != null) {
    return extension;
  }

  //custom handling needed for unsupported extensions on Android 4.X
  switch (contentType) {
    case AUDIO_AAC:
      return "aac";
    case IMAGE_WEBP:
      return "webp";
  }
  return null;
}
 
源代码18 项目: FireFiles   文件: MimeTypes.java
public static String getMimeTypeFromExtension(String extension) {
    String type = null;

    if (!TextUtils.isEmpty(extension)) {
        final String extensionLowerCase = extension.toLowerCase(Locale.getDefault());
        type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extensionLowerCase);
        if (type == null) {
            //extra mime types map
            type = MIME_TYPES.get(extensionLowerCase);
        }
    }
    return type;
}
 
源代码19 项目: twitter-kit-android   文件: FileUtils.java
/**
 * @return The MIME type for the given file.
 */
static String getMimeType(File file) {
    final String ext = getExtension(file.getName());
    if (!TextUtils.isEmpty(ext)) {
        return MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext);
    }
    // default from https://dev.twitter.com/rest/public/uploading-media
    return "application/octet-stream";
}
 
源代码20 项目: Android   文件: UpdataService.java
public String getMIMEType(File var0) {
    String var1 = "";
    String var2 = var0.getName();
    String var3 = var2.substring(var2.lastIndexOf(".") + 1, var2.length()).toLowerCase();
    var1 = MimeTypeMap.getSingleton().getMimeTypeFromExtension(var3);
    return var1;
}
 
源代码21 项目: Hentoid   文件: FileHelper.java
@Nullable
public static String getExtensionFromMimeType(@NonNull String mimeType) {
    if (mimeType.isEmpty()) return null;

    String result = MimeTypeMap.getSingleton().getExtensionFromMimeType(mimeType);
    // Exceptions that MimeTypeMap does not support
    if (null == result) {
        if (mimeType.equals("image/apng") || mimeType.equals("image/vnd.mozilla.apng"))
            return "png";
    }
    return result;
}
 
源代码22 项目: Clip-Stack   文件: BackupObject.java
public void openInEditor() {
    context.startActivity(new Intent()
                    .setAction(android.content.Intent.ACTION_VIEW)
                    .setDataAndType(Uri.fromFile(backupFile), MimeTypeMap.getSingleton().getMimeTypeFromExtension("txt"))
                    .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
    );
}
 
源代码23 项目: edx-app-android   文件: UserAPI.java
public Call<ResponseBody> setProfileImage(@NonNull String username, @NonNull final File file) {
    final String mimeType = "image/jpeg";
    return userService.setProfileImage(
            username,
            "attachment;filename=filename." + MimeTypeMap.getSingleton().getExtensionFromMimeType(mimeType),
            RequestBody.create(MediaType.parse(mimeType), file));
}
 
源代码24 项目: letv   文件: FileProvider.java
public String getType(Uri uri) {
    File file = this.mStrategy.getFileForUri(uri);
    int lastDot = file.getName().lastIndexOf(46);
    if (lastDot >= 0) {
        String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(file.getName().substring(lastDot + 1));
        if (mime != null) {
            return mime;
        }
    }
    return "application/octet-stream";
}
 
源代码25 项目: FireFiles   文件: HeatMapProvider.java
private static String getTypeForName(String name) {
    final int lastDot = name.lastIndexOf('.');
    if (lastDot >= 0) {
        final String extension = name.substring(lastDot + 1).toLowerCase();
        final String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
        if (mime != null) {
            return mime;
        }
    }

    return BASIC_MIME_TYPE;
}
 
private PLComposeItem createImageItem(String path) {
    Log.i(TAG, "createImageItem path : " + path);
    PLComposeItem item;
    String fileExtension = MimeTypeMap.getFileExtensionFromUrl(path);
    String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(fileExtension);
    Log.i(TAG, "createImageItem fileExtension : " + fileExtension);
    Log.i(TAG, "createImageItem mimeType : " + mimeType);

    if (mimeType != null && mimeType.contains("gif")) {
        item = createGIFImageItem(path);
    } else {
        item = createNormalImageItem(path);
    }
    return item;
}
 
源代码27 项目: Silence   文件: MediaUtil.java
public static @Nullable String getMimeType(Context context, Uri uri) {
  if (uri == null) return null;

  if (PersistentBlobProvider.isAuthority(context, uri)) {
    return PersistentBlobProvider.getMimeType(context, uri);
  }

  String type = context.getContentResolver().getType(uri);
  if (type == null) {
    final String extension = MimeTypeMap.getFileExtensionFromUrl(uri.toString());
    type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension.toLowerCase());
  }
  return getCorrectedMimeType(type);
}
 
源代码28 项目: Kandroid   文件: TaskDetailActivity.java
@Override
        public void onDownloadTaskFile(boolean success, int id, String data) {
            if (success) {
                byte[] inData = Base64.decode(data, Base64.DEFAULT);
                for (KanboardTaskFile f: files) {
                    if (f.getId() == id) {
                        try {
                            File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), f.getName());
                            FileOutputStream outData = new FileOutputStream(file);
                            outData.write(inData);
                            outData.close();
                            String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString()));
                            if (mime == null) {
                                mime = "application/octet-stream";
                            }
                            if (BuildConfig.DEBUG) {
                                Log.d(Constants.TAG, Uri.fromFile(file).toString());
                                Log.d(Constants.TAG, mime);
                            }
                            DownloadManager dm = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
                            dm.addCompletedDownload(file.getName(), "Kandroid download", false, mime, file.getPath(), file.length(), true);
//                            Snackbar.make(findViewById(R.id.root_layout), String.format(Locale.getDefault(), "Saved file to: %s", file.getPath()), Snackbar.LENGTH_LONG).show();
                        } catch (IOException e) {
                            Log.w(Constants.TAG, "IOError writing file");
                            e.printStackTrace();
                        }
                        break;
                    }
                }
            } else {
                Snackbar.make(findViewById(R.id.root_layout), "Unable to download file", Snackbar.LENGTH_LONG).show();
            }
        }
 
源代码29 项目: SimplicityBrowser   文件: Helpers.java
public static String getMimeType(String url) {
    String extension = MimeTypeMap.getFileExtensionFromUrl(url);
    if (extension != null) {
        return MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
    }
    return null;
}
 
源代码30 项目: letv   文件: RawDocumentFile.java
private static String getTypeForName(String name) {
    int lastDot = name.lastIndexOf(46);
    if (lastDot >= 0) {
        String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(name.substring(lastDot + 1).toLowerCase());
        if (mime != null) {
            return mime;
        }
    }
    return "application/octet-stream";
}