android.webkit.MimeTypeMap#getMimeTypeFromExtension ( )源码实例Demo

下面列出了android.webkit.MimeTypeMap#getMimeTypeFromExtension ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: SimpleExplorer   文件: MimeTypes.java
public static String getMimeType(File file) {
    if (file.isDirectory()) {
        return null;
    }

    String type = null;
    final String extension = SimpleUtils.getExtension(file.getName());

    if (extension != null && !extension.isEmpty()) {
        final String extensionLowerCase = extension.toLowerCase(Locale.getDefault());
        final MimeTypeMap mime = MimeTypeMap.getSingleton();
        type = mime.getMimeTypeFromExtension(extensionLowerCase);
        if (type == null) {
            type = MIME_TYPES.get(extensionLowerCase);
        }
    }

    if(type == null)
        type="*/*";
    return type;
}
 
源代码2 项目: java-n-IDE-for-Android   文件: RootUtils.java
private static boolean openApk(Context context, File file) {
    try {
        Uri uri;
        if (Build.VERSION.SDK_INT >= 24) {
            uri = FileProvider.getUriForFile(context, context.getPackageName() + ".provider", file);
        } else {
            uri = Uri.fromFile(file);
        }
        //create intent open file
        MimeTypeMap myMime = MimeTypeMap.getSingleton();
        Intent intent = new Intent(Intent.ACTION_VIEW);
        String ext = FileUtils.fileExt(file.getPath());
        String mimeType = myMime.getMimeTypeFromExtension(ext != null ? ext : "");
        intent.setDataAndType(uri, mimeType);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        context.startActivity(intent);
    } catch (Exception e) {
        Toast.makeText(context, e.getMessage(), Toast.LENGTH_LONG).show();
    }
    return true;
}
 
源代码3 项目: PowerFileExplorer   文件: MimeTypes.java
/**
 * Get Mime Type of a file
 * @param file the file of which mime type to get
 * @return Mime type in form of String
 */
public static String getMimeType(File file) {
    if (file.isDirectory()) {
        return null;
    }

    String type = ALL_MIME_TYPES;
    final String extension = getExtension(file.getName());

    // mapping extension to system mime types
    if (extension != null && !extension.isEmpty()) {
        final String extensionLowerCase = extension.toLowerCase();
        final MimeTypeMap mime = MimeTypeMap.getSingleton();
        type = mime.getMimeTypeFromExtension(extensionLowerCase);
        if (type == null) {
            type = MIME_TYPES.get(extensionLowerCase);
        }
    }
    if (type == null) type = ALL_MIME_TYPES;
    return type;
}
 
源代码4 项目: appcan-android   文件: EUtil.java
public static void installApp(Context context, String inAppPath) {
    if (null == inAppPath || 0 == inAppPath.trim().length()) {
        return;
    }
    String reallyPath = "";
    File file = new File(inAppPath);
    if (file.exists()) {
        reallyPath = inAppPath;
    } else {
        reallyPath = copyFileToStorage(context, inAppPath);
        if (null == reallyPath) {
            return;
        }
    }
    // install apk.
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    MimeTypeMap type = MimeTypeMap.getSingleton();
    String mime = type.getMimeTypeFromExtension("apk");
    reallyPath = reallyPath.contains("file://") ? reallyPath : ("file://" + reallyPath);
    intent.setDataAndType(Uri.parse(reallyPath), mime);
    context.startActivity(intent);
}
 
源代码5 项目: dropbox-sdk-java   文件: FilesAdapter.java
public void bind(Metadata item) {
    mItem = item;
    mTextView.setText(mItem.getName());

    // Load based on file path
    // Prepending a magic scheme to get it to
    // be picked up by DropboxPicassoRequestHandler

    if (item instanceof FileMetadata) {
        MimeTypeMap mime = MimeTypeMap.getSingleton();
        String ext = item.getName().substring(item.getName().indexOf(".") + 1);
        String type = mime.getMimeTypeFromExtension(ext);
        if (type != null && type.startsWith("image/")) {
            mPicasso.load(FileThumbnailRequestHandler.buildPicassoUri((FileMetadata)item))
                    .placeholder(R.drawable.ic_photo_grey_600_36dp)
                    .error(R.drawable.ic_photo_grey_600_36dp)
                    .into(mImageView);
        } else {
            mPicasso.load(R.drawable.ic_insert_drive_file_blue_36dp)
                    .noFade()
                    .into(mImageView);
        }
    } else if (item instanceof FolderMetadata) {
        mPicasso.load(R.drawable.ic_folder_blue_36dp)
                .noFade()
                .into(mImageView);
    }
}
 
源代码6 项目: VinylMusicPlayer   文件: FileUtil.java
public static boolean fileIsMimeType(File file, String mimeType, MimeTypeMap mimeTypeMap) {
    if (mimeType == null || mimeType.equals("*/*")) {
        return true;
    } else {
        // get the file mime type
        String filename = file.toURI().toString();
        int dotPos = filename.lastIndexOf('.');
        if (dotPos == -1) {
            return false;
        }
        String fileExtension = filename.substring(dotPos + 1).toLowerCase();
        String fileType = mimeTypeMap.getMimeTypeFromExtension(fileExtension);
        if (fileType == null) {
            return false;
        }
        // check the 'type/subtype' pattern
        if (fileType.equals(mimeType)) {
            return true;
        }
        // check the 'type/*' pattern
        int mimeTypeDelimiter = mimeType.lastIndexOf('/');
        if (mimeTypeDelimiter == -1) {
            return false;
        }
        String mimeTypeMainType = mimeType.substring(0, mimeTypeDelimiter);
        String mimeTypeSubtype = mimeType.substring(mimeTypeDelimiter + 1);
        if (!mimeTypeSubtype.equals("*")) {
            return false;
        }
        int fileTypeDelimiter = fileType.lastIndexOf('/');
        if (fileTypeDelimiter == -1) {
            return false;
        }
        String fileTypeMainType = fileType.substring(0, fileTypeDelimiter);
        return fileTypeMainType.equals(mimeTypeMainType);
    }
}
 
private boolean openFileByAnotherApp(File file) {
    //don't open compiled file
    if (FileUtils.hasExtension(file, "class", "dex", "jar")) {
        Toast.makeText(this, "Unable to open file", Toast.LENGTH_SHORT).show();
        return false;
    }
    try {
        Uri uri;
        if (Build.VERSION.SDK_INT >= 24) {
            uri = FileProvider.getUriForFile(this, getPackageName() + ".provider", file);
        } else {
            uri = Uri.fromFile(file);
        }
        //create intent open file
        MimeTypeMap myMime = MimeTypeMap.getSingleton();
        Intent intent = new Intent(Intent.ACTION_VIEW);
        String ext = FileUtils.fileExt(file.getPath());
        String mimeType = myMime.getMimeTypeFromExtension(ext != null ? ext : "");
        intent.setDataAndType(uri, mimeType);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        startActivity(intent);
    } catch (Exception e) {
        Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
    }
    return true;
}
 
源代码8 项目: 4pdaClient-plus   文件: DownloadReceiver.java
private Intent getRunFileIntent(String filePath) {
    MimeTypeMap myMime = MimeTypeMap.getSingleton();
    Intent newIntent = new Intent(Intent.ACTION_VIEW);
    String mimeType = myMime.getMimeTypeFromExtension(FileUtils.fileExt(filePath).substring(1));
    newIntent.setDataAndType(Uri.parse("file://" + filePath), mimeType);
    newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    return newIntent;
}
 
源代码9 项目: OmniList   文件: FileHelper.java
private static String getMimeType(String url) {
    String type = null;
    String extension = MimeTypeMap.getFileExtensionFromUrl(url);
    if (extension != null) {
        MimeTypeMap mime = MimeTypeMap.getSingleton();
        type = mime.getMimeTypeFromExtension(extension);
    }
    return type;
}
 
源代码10 项目: AndroidPicker   文件: FileUtils.java
/**
 * 获取文件的MIME类型
 */
public static String getMimeType(String pathOrUrl) {
    String ext = getExtension(pathOrUrl);
    MimeTypeMap map = MimeTypeMap.getSingleton();
    String mimeType;
    if (map.hasExtension(ext)) {
        mimeType = map.getMimeTypeFromExtension(ext);
    } else {
        mimeType = "*/*";
    }
    LogUtils.verbose(pathOrUrl + ": " + mimeType);
    return mimeType;
}
 
源代码11 项目: android_tv_metro   文件: Utils.java
public static String getMimeType(String url) {
	String type = null;
	String extension = MimeTypeMap.getFileExtensionFromUrl(url);
	if (extension != null) {
		MimeTypeMap mime = MimeTypeMap.getSingleton();
		type = mime.getMimeTypeFromExtension(extension);
	}
	return type;
}
 
源代码12 项目: android_tv_metro   文件: Utils.java
public static String getMimeType(String url) {
	String type = null;
	String extension = MimeTypeMap.getFileExtensionFromUrl(url);
	if (extension != null) {
		MimeTypeMap mime = MimeTypeMap.getSingleton();
		type = mime.getMimeTypeFromExtension(extension);
	}
	return type;
}
 
源代码13 项目: droid-stealth   文件: ActionManager.java
/**
 * Gets the intent to share a single IndexedFile with
 *
 * @param with the file to share
 * @return share intent
 */
private Intent getShareIntentSingle(IndexedFile with) {

	Intent intent = new Intent();
	intent.setAction(Intent.ACTION_SEND);

	MimeTypeMap map = MimeTypeMap.getSingleton();
	String mimeType = map.getMimeTypeFromExtension(with.getExtension().substring(1));
	intent.setType(mimeType);

	Uri uri = Uri.fromFile(with.getUnlockedFile());
	intent.putExtra(Intent.EXTRA_STREAM, uri);

	return intent;
}
 
源代码14 项目: Orin   文件: FileUtil.java
public static boolean fileIsMimeType(File file, String mimeType, MimeTypeMap mimeTypeMap) {
    if (mimeType == null || mimeType.equals("*/*")) {
        return true;
    } else {
        // get the file mime type
        String filename = file.toURI().toString();
        int dotPos = filename.lastIndexOf('.');
        if (dotPos == -1) {
            return false;
        }
        String fileExtension = filename.substring(dotPos + 1).toLowerCase();
        String fileType = mimeTypeMap.getMimeTypeFromExtension(fileExtension);
        if (fileType == null) {
            return false;
        }
        // check the 'type/subtype' pattern
        if (fileType.equals(mimeType)) {
            return true;
        }
        // check the 'type/*' pattern
        int mimeTypeDelimiter = mimeType.lastIndexOf('/');
        if (mimeTypeDelimiter == -1) {
            return false;
        }
        String mimeTypeMainType = mimeType.substring(0, mimeTypeDelimiter);
        String mimeTypeSubtype = mimeType.substring(mimeTypeDelimiter + 1);
        if (!mimeTypeSubtype.equals("*")) {
            return false;
        }
        int fileTypeDelimiter = fileType.lastIndexOf('/');
        if (fileTypeDelimiter == -1) {
            return false;
        }
        String fileTypeMainType = fileType.substring(0, fileTypeDelimiter);
        if (fileTypeMainType.equals(mimeTypeMainType)) {
            return true;
        }
    }
    return false;
}
 
源代码15 项目: PKUCourses   文件: ContentViewActivity.java
public Drawable getIcon(String fileName) {
    final Intent innt = new Intent(Intent.ACTION_VIEW);
    MimeTypeMap myMime = MimeTypeMap.getSingleton();
    String mimeType = myMime.getMimeTypeFromExtension(fileExt(fileName));
    innt.setType(mimeType);
    final List<ResolveInfo> matches = getPackageManager().queryIntentActivities(innt, 0);
    if (matches.size() == 0)
        return null;
    return matches.get(0).loadIcon(getPackageManager());
}
 
源代码16 项目: Telegram   文件: AndroidUtilities.java
public static void openForView(TLObject media, Activity activity) {
    if (media == null || activity == null) {
        return;
    }
    String fileName = FileLoader.getAttachFileName(media);
    File f = FileLoader.getPathToAttach(media, true);
    if (f != null && f.exists()) {
        String realMimeType = null;
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        MimeTypeMap myMime = MimeTypeMap.getSingleton();
        int idx = fileName.lastIndexOf('.');
        if (idx != -1) {
            String ext = fileName.substring(idx + 1);
            realMimeType = myMime.getMimeTypeFromExtension(ext.toLowerCase());
            if (realMimeType == null) {
                if (media instanceof TLRPC.TL_document) {
                    realMimeType = ((TLRPC.TL_document) media).mime_type;
                }
                if (realMimeType == null || realMimeType.length() == 0) {
                    realMimeType = null;
                }
            }
        }
        if (Build.VERSION.SDK_INT >= 24) {
            intent.setDataAndType(FileProvider.getUriForFile(activity, BuildConfig.APPLICATION_ID + ".provider", f), realMimeType != null ? realMimeType : "text/plain");
        } else {
            intent.setDataAndType(Uri.fromFile(f), realMimeType != null ? realMimeType : "text/plain");
        }
        if (realMimeType != null) {
            try {
                activity.startActivityForResult(intent, 500);
            } catch (Exception e) {
                if (Build.VERSION.SDK_INT >= 24) {
                    intent.setDataAndType(FileProvider.getUriForFile(activity, BuildConfig.APPLICATION_ID + ".provider", f), "text/plain");
                } else {
                    intent.setDataAndType(Uri.fromFile(f), "text/plain");
                }
                activity.startActivityForResult(intent, 500);
            }
        } else {
            activity.startActivityForResult(intent, 500);
        }
    }
}
 
源代码17 项目: TelePlus-Android   文件: AndroidUtilities.java
public static void openForView(TLObject media, Activity activity) throws Exception
{
    if (media == null || activity == null)
    {
        return;
    }
    String fileName = FileLoader.getAttachFileName(media);
    File f = FileLoader.getPathToAttach(media, true);
    if (f != null && f.exists())
    {
        String realMimeType = null;
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        MimeTypeMap myMime = MimeTypeMap.getSingleton();
        int idx = fileName.lastIndexOf('.');
        if (idx != -1)
        {
            String ext = fileName.substring(idx + 1);
            realMimeType = myMime.getMimeTypeFromExtension(ext.toLowerCase());
            if (realMimeType == null)
            {
                if (media instanceof TLRPC.TL_document)
                {
                    realMimeType = ((TLRPC.TL_document) media).mime_type;
                }
                if (realMimeType == null || realMimeType.length() == 0)
                {
                    realMimeType = null;
                }
            }
        }
        if (Build.VERSION.SDK_INT >= 24)
        {
            intent.setDataAndType(FileProvider.getUriForFile(activity, BuildConfig.APPLICATION_ID + ".provider", f), realMimeType != null ? realMimeType : "text/plain");
        }
        else
        {
            intent.setDataAndType(Uri.fromFile(f), realMimeType != null ? realMimeType : "text/plain");
        }
        if (realMimeType != null)
        {
            try
            {
                activity.startActivityForResult(intent, 500);
            }
            catch (Exception e)
            {
                if (Build.VERSION.SDK_INT >= 24)
                {
                    intent.setDataAndType(FileProvider.getUriForFile(activity, BuildConfig.APPLICATION_ID + ".provider", f), "text/plain");
                }
                else
                {
                    intent.setDataAndType(Uri.fromFile(f), "text/plain");
                }
                activity.startActivityForResult(intent, 500);
            }
        }
        else
        {
            activity.startActivityForResult(intent, 500);
        }
    }
}
 
源代码18 项目: VideoOS-Android-SDK   文件: ProxyCacheUtils.java
static String getSupposablyMime(String url) {
    MimeTypeMap mimes = MimeTypeMap.getSingleton();
    String extension = MimeTypeMap.getFileExtensionFromUrl(url);
    return TextUtils.isEmpty(extension) ? null : mimes.getMimeTypeFromExtension(extension);
}
 
@Override
public void onActivityCreated(Bundle onSavedInstanceState) {
    super.onActivityCreated(onSavedInstanceState);

    receiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) {
                long downloadId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, 0);
                DownloadManager.Query query = new DownloadManager.Query();
                query.setFilterById(enqueue);
                Cursor c = dm.query(query);
                if (c.moveToFirst()) {
                    int columnIndex = c.getColumnIndex(DownloadManager.COLUMN_STATUS);
                    if (DownloadManager.STATUS_SUCCESSFUL == c.getInt(columnIndex)) {

                        String uriString = c.getString(c.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI));
                        MimeTypeMap map = MimeTypeMap.getSingleton();
                        String ext = MimeTypeMap.getFileExtensionFromUrl(uriString);
                        String type = map.getMimeTypeFromExtension(ext);
                        Uri uri = Uri.parse(uriString);

                        if (type == null)
                            type = "*/*";

                        Intent openFile = new Intent(Intent.ACTION_VIEW);
                        openFile.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                            File file = new File(uri.getPath());
                            Uri fileProviderUri = FileProvider.getUriForFile(context, context.getPackageName() + ".provider", file);
                            openFile.setDataAndType(fileProviderUri, type);
                        } else {
                            openFile.setDataAndType(uri, type);
                        }
                        try {
                            startActivity(openFile);
                        } catch (ActivityNotFoundException e) {
                            Toast.makeText(getActivity(), getString(R.string.cannot_open_file), Toast.LENGTH_SHORT).show();
                        }
                    }
                }
            }
        }
    };
    getActivity().registerReceiver(receiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));

    queryMoodleCoreCourses(moodleCourseId);

}
 
源代码20 项目: ROMInstaller   文件: CustomFileChooser.java
boolean fileIsMimeType(File file, String mimeType, MimeTypeMap mimeTypeMap) {

        if (mimeType == null || mimeType.equals("*/*")) {

            return true;

        } else {

            String filename = file.toURI().toString();

            int dotPos = filename.lastIndexOf('.');

            if (dotPos == -1) {

                return false;

            }

            String fileExtension = filename.substring(dotPos + 1);

            String fileType = mimeTypeMap.getMimeTypeFromExtension(fileExtension);

            if (fileType == null) {

                return false;

            }

            if (fileType.equals(mimeType)) {

                return true;

            }

            int mimeTypeDelimiter = mimeType.lastIndexOf('/');

            if (mimeTypeDelimiter == -1) {

                return false;

            }

            String mimeTypeMainType = mimeType.substring(0, mimeTypeDelimiter);

            String mimeTypeSubtype = mimeType.substring(mimeTypeDelimiter + 1);

            if (!mimeTypeSubtype.equals("*")) {

                return false;

            }

            int fileTypeDelimiter = fileType.lastIndexOf('/');

            if (fileTypeDelimiter == -1) {

                return false;

            }

            String fileTypeMainType = fileType.substring(0, fileTypeDelimiter);

            if (fileTypeMainType.equals(mimeTypeMainType)) {

                return true;

            }

        }

        return false;

    }