点击(此处)折叠或打开
- private static void checkCanHandleDownload(Context context, String mimeType, int destination,
- boolean isPublicApi) throws GenerateSaveFileError {
- if (isPublicApi) {
- return;
- }
- Log.d(\"baron\",\"mimeType=\" + mimeType);//add by Hubin 2013/05/07
-
- if (destination == Downloads.Impl.DESTINATION_EXTERNAL
- || destination == Downloads.Impl.DESTINATION_CACHE_PARTITION_PURGEABLE) {
- if (mimeType == null) {
- throw new GenerateSaveFileError(Downloads.Impl.STATUS_NOT_ACCEPTABLE,
- \"external download with no mime type not allowed\");
- }
-
- //to support pdf/doc/docx/xls/xlsx/ppt/pptx format downloading
- if(mimeType.trim().equalsIgnoreCase(\"application/pdf\")
- || mimeType.trim().equalsIgnoreCase(\"application/msword\")
- || mimeType.trim().equalsIgnoreCase(\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\")
- || mimeType.trim().equalsIgnoreCase(\"application/vnd.ms-excel\")
- || mimeType.trim().equalsIgnoreCase(\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\")
- || mimeType.trim().equalsIgnoreCase(\"application/vnd.ms-powerpoint\")
- || mimeType.trim().equalsIgnoreCase(\"application/vnd.openxmlformats-officedocument.presentationml.presentation\")) {
- Log.d(\"baron\",\"start to download \" + mimeType +\" file...\");
- return;
- }
-
- if (!DrmRawContent.DRM_MIMETYPE_MESSAGE_STRING.equalsIgnoreCase(mimeType)) {
- // Check to see if we are allowed to download this file. Only files
- // that can be handled by the platform can be downloaded.
- // special case DRM files, which we should always allow downloading.
- Intent intent = new Intent(Intent.ACTION_VIEW);
-
- // We can provide data as either content: or file: URIs,
- // so allow both. (I think it would be nice if we just did
- // everything as content: URIs)
- // Actually, right now the download manager\'s UId restrictions
- // prevent use from using content: so it\'s got to be file: or
- // nothing
-
- PackageManager pm = context.getPackageManager();
- intent.setDataAndType(Uri.fromParts(\"file\", \"\", null), mimeType);
- ResolveInfo ri = pm.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
- //Log.i(Constants.TAG, \"*** FILENAME QUERY \" + intent + \": \" + list);
-
- if (ri == null) {
- if (Constants.LOGV) {
- Log.v(Constants.TAG, \"no handler found for type \" + mimeType);
- }
- throw new GenerateSaveFileError(Downloads.Impl.STATUS_NOT_ACCEPTABLE,
- \"no handler found for this download type\");
- }
- }
- }
- }
相关热门文章
- 土豪seo人员不能不知的高级搜...
- 司机酒驾被罚笑容灿烂 用哲学...
- Hadoop初探之Hadoop生态圈...
- 坑爹的KVM!Device pci-assign...
- C++函数中那些不可以被声明为...
给主人留下些什么吧!~~
评论热议