How to open various files with android intent

Java代码 <span style="white-space: pre;"> </span>private final String[][] MIME_MapTable={
//{后缀名,MIME类型} 
{".3gp", "video/3gpp"}, 
{".apk", "application/vnd.android.package-archive"}, 
{".asf", "video/x-ms-asf"}, 
{".avi", "video/x-msvideo"}, 
{".bin", "application/octet-stream"}, 
{".bmp", "image/bmp"}, 
{".c", "text/plain"}, 
{".class", "application/octet-stream"}, 
{".conf", "text/plain"}, 
{".cpp", "text/plain"}, 
{".doc", "application/msword"}, 
{".docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"},
{".xls", "application/vnd.ms-excel"}, 
{".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}, 
{".exe", "application/octet-stream"}, 
{".gif", "image/gif"}, 
{".gtar", "application/x-gtar"}, 
{".gz", "application/x-gzip"}, 
{".h", "text/plain"}, 
{".htm", "text/html"}, 
{".html", "text/html"}, 
{".jar", "application/java-archive"}, 
{".java", "text/plain"}, 
{".jpeg", "image/jpeg"}, 
{".jpg", "image/jpeg"}, 
{".js", "application/x-javascript"}, 
{".log", "text/plain"}, 
{".m3u", "audio/x-mpegurl"}, 
{".m4a","audio/mp4a-latm"}, 
{".m4b", "audio/mp4a-latm"}, 
{".m4p", "audio/mp4a-latm"}, 
{".m4u", "video/vnd.mpegurl"}, 
{".m4v", "video/x-m4v"}, 
{".mov", "video/quicktime"}, 
{".mp2", "audio/x-mpeg"}, 
{".mp3", "audio/x-mpeg"}, 
{".mp4", "video/mp4"}, 
{".mpc", "application/vnd.mpohun.certificate"}, 
{".mpe", "video/mpeg"}, 
{".mpeg", "video/mpeg"}, 
{".mpg", "video/mpeg"}, 
{".mpg4", "video/mp4"}, 
{".mpga", "audio/mpeg"}, 
{".msg", "application/vnd.ms-outlook"}, 
{".ogg", "audio/ogg"}, 
{".pdf", "application/pdf"}, 
{".png", "image/png"}, 
{".pps", "application/vnd.ms-powerpoint"}, 
{".ppt", "application/vnd.ms-powerpoint"}, 
{".pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation"},
{".prop", "text/plain"}, 
{".rc", "text/plain"}, 
{".rmvb", "audio/x-pn-realaudio"}, 
{".rtf", "application/rtf"}, 
{".sh", "text/plain"}, 
{".tar", "application/x-tar"}, 
{".tgz", "application/x-compressed"}, 
{".txt", "text/plain"}, 
{".wav", "audio/x-wav"}, 
{".wma", "audio/x-ms-wma"}, 
{".wmv", "audio/x-ms-wmv"}, 
{".wps", "application/vnd.ms-works"}, 
{".xml", "text/plain"}, 
{".z", "application/x-compress"}, 
{".zip", "application/x-zip-compressed"}, 
{"", "*/*"} 
}; 

//选择图片 requestCode 返回的标识
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); //"android.intent.action.GET_CONTENT"
intent.setType(contentType); //查看类型 String IMAGE_UNSPECIFIED = "image/*";
Intent wrapperIntent = Intent.createChooser(intent, null);
((Activity) context).startActivityForResult(wrapperIntent, requestCode);
 
//添加音频
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(contentType); //String VIDEO_UNSPECIFIED = "video/*";
Intent wrapperIntent = Intent.createChooser(intent, null);
((Activity) context).startActivityForResult(wrapperIntent, requestCode);
 
//拍摄视频
int durationLimit = getVideoCaptureDurationLimit(); //SystemProperties.getInt("ro.media.enc.lprof.duration", 60);
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, sizeLimit);
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, durationLimit);
startActivityForResult(intent, REQUEST_CODE_TAKE_VIDEO);
 
//视频
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(contentType); //String VIDEO_UNSPECIFIED = "video/*";
Intent wrapperIntent = Intent.createChooser(intent, null);
((Activity) context).startActivityForResult(wrapperIntent, requestCode);
 
//录音
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(ContentType.AUDIO_AMR); //String AUDIO_AMR = "audio/amr";
intent.setClassName("com.android.soundrecorder",
"com.android.soundrecorder.SoundRecorder");
((Activity) context).startActivityForResult(intent, requestCode);
 
//拍照 REQUEST_CODE_TAKE_PICTURE 为返回的标识
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //"android.media.action.IMAGE_CAPTURE";
intent.putExtra(MediaStore.EXTRA_OUTPUT, Mms.ScrapSpace.CONTENT_URI); // output,Uri.parse("content://mms/scrapSpace");
startActivityForResult(intent, REQUEST_CODE_TAKE_PICTURE);

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326508811&siteId=291194637