- 浏览: 413728 次
- 性别:
- 来自: 深圳
最新评论
-
huangzongwu:
很明显用HashMap<String, Stri ...
android 打开各种文件(setDataAndType) -
xunyixiangchao:
android 打开各种文件(setDataAndType) -
yong7356:
学习一下POST和GET的用法。。
android Post Get(普通) -
cinrry:
据我的理解,mapOverlay相当于C那个overlay的名 ...
在非Activity子类跳转 -
cinrry:
您好!请问您的解决方法中 BmapOverlay = new ...
在非Activity子类跳转
转自:http://luhuajcdd.iteye.com/blog/1560225
和 http://www.2cto.com/kf/201201/117389.html
Java代码 /**
* 打开文件
* @param file
*/
private void openFile(File file){
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//设置intent的Action属性
intent.setAction(Intent.ACTION_VIEW);
//获取文件file的MIME类型
String type = getMIMEType(file);
//设置intent的data和Type属性。
intent.setDataAndType(/*uri*/Uri.fromFile(file), type);
//跳转
startActivity(intent); //这里最好try一下,有可能会报错。 //比如说你的MIME类型是打开邮箱,但是你手机里面没装邮箱客户端,就会报错。
}
/**
* 根据文件后缀名获得对应的MIME类型。
* @param file
*/
private String getMIMEType(File file) {
String type="*/*";
String fName = file.getName();
//获取后缀名前的分隔符"."在fName中的位置。
int dotIndex = fName.lastIndexOf(".");
if(dotIndex < 0){
return type;
}
/* 获取文件的后缀名*/
String end=fName.substring(dotIndex,fName.length()).toLowerCase();
if(end=="")return type;
//在MIME和文件类型的匹配表中找到对应的MIME类型。
for(int i=0;i<MIME_MapTable.length;i++){ //MIME_MapTable??在这里你一定有疑问,这个MIME_MapTable是什么?
if(end.equals(MIME_MapTable[i][0]))
type = MIME_MapTable[i][1];
}
return type;
}
MIME_MapTable是所有文件的后缀名所对应的MIME类型的一个String数组:
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"},
{"", "*/*"}
};
这个MIME类型可能不够完整,你有要补充的吗?
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1. Intent open a picture file public:
- Intent intent = new Intent("android.intent.action.VIEW");
- intent.addCategory("android.intent.category.DEFAULT");
- intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK);
- Uri uri = Uri.fromFile(new
- File("/mnt/sdcard/images/001041580.jpg"));
- intent.setDataAndType (uri, "image/*");
- this.startActivity(intent);
2. Intent to open a PDF file:
- Intent intent = new Intent("android.intent.action.VIEW");
- intent.addCategory("android.intent.category.DEFAULT");
- intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK);
- Uri uri = Uri.fromFile(new
- File("file:///android_asset/helphelp.pdf"));
- intent.setDataAndType (uri, "application/pdf");
- this.startActivity(intent);
3. Intent to open a text file:
- Intent intent = new Intent("android.intent.action.VIEW");
- intent.addCategory("android.intent.category.DEFAULT");
- intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK);
- if (paramBoolean)
- {
- Uri uri1 = Uri.parse (param);
- intent.setDataAndType (URI1, "text/plain");
- }
- else
- {
- Uri uri = Uri.fromFile(new File("/mnt/sdcard/hello.txt"));
- intent.setDataAndType (URI2, "text/plain");
- }
- this.startActivity(intent);
4. Intent to open the audio file:
- Intent intent = new Intent("android.intent.action.VIEW");
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- intent.putExtra ("oneshot", 0);
- intent.putExtra ("configchange", 0);
- Uri uri = Uri.fromFile(new File("/mnt/sdcard/ren.mp3"));
- intent.setDataAndType (uri, "audio/*");
- this.startActivity(intent);
5. Intent to open the video file:
- Intent intent = new Intent("android.intent.action.VIEW");
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- intent.putExtra ("oneshot", 0);
- intent.putExtra ("configchange", 0);
- Uri uri = Uri.fromFile(new File("/mnt/sdcard/ice.avi"));
- intent.setDataAndType (uri, "video/*");
- this.startActivity(intent);
6. Intent to open the CHM file:
- Intent intent = new Intent("android.intent.action.VIEW");
- intent.addCategory("android.intent.category.DEFAULT");
- intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK);
- Uri uri = Uri.fromFile(new File("/mnt/sdcard/ice.chm"));
- intent.setDataAndType (uri, "application / x-chm");
- this.startActivity(intent);
7. Intent to open a Word document:
- Intent intent = new Intent("android.intent.action.VIEW");
- intent.addCategory("android.intent.category.DEFAULT");
- intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK);
- Uri uri = Uri.fromFile(new File("/system/etc/help.doc"));
- intent.setDataAndType(uri, "application/msword");
- this.startActivity(intent);
8. Android Excel intent:
- Intent intent = new Intent("android.intent.action.VIEW");
- intent.addCategory("android.intent.category.DEFAULT");
- intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK);
- Uri uri = Uri.fromFile(new File("/mnt/sdcard/Book1.xls"));
- intent.setDataAndType (uri, "application/vnd.ms-excel");
- this.startActivity(intent);
9. Intent to open the PPT file:
- Intent intent = new Intent("android.intent.action.VIEW");
- intent.addCategory("android.intent.category.DEFAULT");
- intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK);
- Uri uri = Uri.fromFile(new
- File("/mnt/sdcard/download/Android_PPT.ppt"));
- intent.setDataAndType (uri, "application/vnd.ms-powerpoint");
- this.startActivity(intent);
10. Display Html page::
- Uri uri = Uri.parse ("http://www.google.com");
- Intent intent = new Intent (Intent.ACTION_VIEW, uri);
- this.startActivity(intent);
11. Show map:
- Uri uri = Uri.parse ("geo: 38.899533, -77.036476");
- Intent intent = new Intent (Intent.Action_VIEW, uri);
- this.startActivity(intent);
12. Call the dialer:
- Uri uri = Uri.parse ("tel: xxxxxx");
- Intent intent = new Intent (Intent.ACTION_DIAL, uri);
- this.startActivity(intent);
13. Call :
- Uri uri = Uri.parse ("tel: xxxxxx");
- Intent it = new Intent (Intent.ACTION_CALL, uri);
- this.startActivity(intent);
- /*permission:
- <uses-permission id="android.permission.CALL_PHONE">
- </uses-permission> */
14. Call to send text messages of the program :
- Intent intent = new Intent (Intent.ACTION_VIEW);
- intent.putExtra("sms_body", "The SMS text");
- intent.setType("vnd.android-dir/mms-sms");
- this.startActivity(intent);
15. Send SMS :
- Uri uri = Uri.parse("smsto:0800000123");
- Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
- intent.putExtra("sms_body", "The SMS text");
- this.startActivity(intent);
16. Send MMS :
- Uri uri = Uri.parse("content://media/external/images/media/23");
- Intent intent = new Intent(Intent.ACTION_SEND);
- intent.putExtra("sms_body", "some text");
- intent.putExtra(Intent.EXTRA_STREAM, uri);
- intent.setType("image/png");
- this.startActivity(intent);
17. Send an Email :
- Uri uri = Uri.parse ("mailto: xxx@abc.com");
- Intent intent = new Intent (Intent.ACTION_SENDTO, uri);
- this.startActivity(intent);
18. Send an Email with body :
- Intent intent = new Intent(Intent.ACTION_SEND);
- intent.putExtra(Intent.EXTRA_EMAIL,"me@abc.com");
- intent.putExtra(Intent.EXTRA_TEXT,"The email body text");
- intent.setType ("text/plain");
- this.startActivity(
- Intent.createChooser(intent, "Choose Email Client"));
19. Send an Email with body,to,cc :
- Intent intent = new Intent(Intent.ACTION_SEND);
- String [] tos ={"me@abc.com"};
- String [] ccs ={"you@abc.com"};
- intent.putExtra(Intent.EXTRA_EMAIL, tos);
- intent.putExtra(Intent.EXTRA_CC, ccs);
- intent.putExtra(Intent.EXTRA_TEXT, "The email body text");
- intent.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
- intent.setType("message/rfc822");
- this.startActivity(
- Intent.createChooser(intent, "Choose Email Client"));
20. Send an Email with attachments :
- Intent intent = new Intent(Intent.ACTION_SEND);
- intent.putExtra(Intent.EXTRA_SUBJECT,"The email subject text");
- intent.putExtra(Intent.EXTRA_STREAM,"file :///sdcard/mysong.mp3");
- sendIntent.setType("audio/mp3");
- this.startActivity(
- Intent.createChooser(intent,"Choose Email Client"));
21. Uninstall the program :
- Uri uri = Uri.fromParts ("package", strPackageName, null);
- Intent intent = new Intent (Intent.ACTION_DELETE, uri);
- this.startActivity(
- Intent.createChooser(intent,"Choose Email Client"));
22. Install the apk :
- Uri installUri = Uri.fromParts("package", "xxx", null);
- returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);
- this.startActivity(returnIt);
23. Search applications :
- Uri uri = Uri.parse("market://search?Q=pname:pkg_name");
- Intent intent = new Intent(Intent.ACTION_VIEW, uri);
- this.startActivity(intent);
- //Where pkg_name is the full package path for an application
24. Google Search Launch Web Browser :
- Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
- String term = "Android";
- intent.putExtra(SearchManager.QUERY, term);
- activity.startActivity(intent);
25. Send text using Intent (to messaging apps) :
- Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
- String msgBody = "This is message";
- Intent intent = new Intent(android.content.Intent.ACTION_SEND);
- intent.setType("text/plain");
- intent.putExtra(android.content.Intent.EXTRA_SUBJECT,
- "message subject");
- intent.putExtra(android.content.Intent.EXTRA_TEXT, msgBody);
- activity.startActivity(Intent.createChooser(intent, getResources().
- getString(R.string.share_by_using)));
26. Create Shortcut on "Home Screen" :
- Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
- Intent toPrint = new Intent(this, anCreateshutcut.class);
- Intent addShortcut = new Intent
- ("com.android.launcher.action.INSTALL_SHORTCUT");
- addShortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Shutcutname");
- addShortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, toPrint);
- addShortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
- Intent.ShortcutIconResource.fromContext(this, R.drawable.icon));
- Manifest file:
- <intent-filter>
- <action android:name="android.intent.action.CREATE_SHORTCUT">
- <category android:name="android.intent.category.LAUNCHER">
- </category></action></intent-filter>
- <uses-permission android:name="com.android.launcher.
- permission.INSTALL_SHORTCUT">
- </uses-permission>
评论
HashMap<String, String> MIME_MapTable = new HashMap<String, String>() {
{
put(".3gp", "video/3gpp");
...
put("", "*/*");
}
};
发表评论
-
jmail发送邮件---转别人的。
2014-09-26 17:15 787需要jar包: mail.jar addition ... -
Android软件安全开发实践--收藏
2013-05-29 16:25 1664过去两年,研究人员已 ... -
华为的机子(手机)无法打印Logcat
2013-03-11 14:57 9048手机无法打印Locat真叫一个痛苦。一出现Bug只能 ... -
ADB server didn't ACK (无法启动ADB) 用了半天总是报错。。。
2013-01-30 15:06 1532无法启动 ADB。。。 ADB server did ... -
APK下载变成了ZIP
2012-10-19 14:29 1289转自:http://www.apkbus.com/forum. ... -
获取IP地址 ----wifi 3G通用
2012-06-08 15:44 2777----转自:http://blog.csdn.net/ ... -
获取手机数据代码
2012-04-06 14:32 1334*#*#4636#*#* — 显示手机信息、电池信息、电池记录 ... -
android adapter 操作Activity中的方法 ------------弱引用WeakReference----断点记录
2011-12-05 14:50 16600---------------------------背景-- ... -
android 设置程序安装位置
2011-11-08 11:03 3334在android2.2 版本和以后的版本中,android应用 ... -
android 设置线程优先级 两种方式
2011-11-02 08:49 28685转自: http://www.eoeandroid.co ... -
android 序列化传值
2011-10-21 10:07 6077转自:http://aijiawang-126-com.ite ... -
转..android 开发的心酸历史
2011-10-14 17:35 1132转自: http://www.eoeandroid.com/t ... -
android ContentResolver 多表联合查询
2011-09-05 09:35 6877String [] projection= new ... -
android 定时器 总结
2011-08-22 14:37 1334转自:http://apps.hi.baidu.com/sha ... -
android: activitity 的四种加载方式
2011-08-09 12:00 1941转自:http://marshal.easymorse ... -
android 通讯录数据表
2011-07-21 15:37 2343Pragma foreign_keys=false; ... -
android 完全退出(杀死应用)
2011-07-15 16:54 16464转自: http://www.iteye.com/topic ... -
android Action 常量 变量
2011-07-14 14:43 1431Action常量 String ADD_SHORTCUT_ ... -
android contentProvider group by查询数据
2011-07-07 16:50 8118转自: http://www.eoeandroid.com ... -
android
2011-06-21 17:52 907联网 http://www.moandroid.com/?p ...
相关推荐
Android 中使用 Intent 打开各种文件类型 Android 操作系统提供了 Intent 机制,允许应用程序之间进行交互和通信。Intent 是一个异步的消息机制,用于在应用程序之间请求或提供服务。通过使用 Intent,可以实现打开...
除了上述基本步骤,还可以根据实际需求进行一些扩展,比如添加FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET标志,以确保打开文件的Activity在任务栈顶部,或者设置FLAG_ACTIVITY_NEW_TASK,使得在没有上下文时也能启动...
// 使用selectedFileUri打开文件 } } ``` 8. **安全性与隐私** 当处理用户文件时,应确保遵循最佳实践,避免泄露用户数据。例如,不要在内存中长时间保留文件内容,及时清理不再使用的资源。 这个“android ...
根据提供的文件信息,我们可以深入探讨如何在Android应用中创建不同类型的文件Intent,以便与其他应用程序共享或打开特定格式的文件。 ### 一、Android中的Intent机制简介 在Android开发中,`Intent`是一种消息...
这个过程通常涉及调用系统内置的软件打开文件,这可以通过Intent对象来完成。以下是对给定代码的详细解释: 首先,我们创建一个新的Intent实例,这是Android中用于启动活动或服务的一种方式。在本例中,我们使用...
#### 四、创建用于打开文件的Intent 针对不同的文件类型,我们需要创建不同类型的Intent来实现文件的打开操作。下面将分别介绍如何为常见的文件类型创建Intent。 ##### 1. 打开HTML文件 ```java public static ...
在Android平台上,开发一个应用程序以实现下载Word文档并顺利打开是一项常见的需求。下面将详细讲解这一过程中的关键知识点,以及如何结合给定的资源进行操作。 1. **Android权限管理**: 在Android中,访问网络和...
这涉及到Android的Intent机制,通过Intent我们可以启动各种系统服务或者应用,包括查看、编辑文档等。下面将详细介绍如何实现这一功能。 首先,我们需要了解Android的Intent。Intent是Android系统中用于组件间通信...
在Android开发中,"android 打开图片文件或拍照更改头像图片" 是一个常见的功能需求,主要用于用户个性化设置,例如在社交应用中更改个人资料的头像。这个功能涉及到多个知识点,包括权限管理、Intent启动相机和图库...
在Android平台上,开发人员经常需要处理各种文件类型的打开与交互,比如Word文档和PDF文件。本文将详细讲解如何在Android应用中调用系统内置或第三方工具来打开这些文件,并提供一个名为`OpenWord.java`的核心代码...
3. **自动打开文件** 当下载完成后,你可以使用Intent来打开相应的文件。首先,获取文件的MIME类型,然后创建一个指向文件的Uri,最后启动一个可以处理该MIME类型的Activity。 ```java Uri fileUri = Uri.from...
这里要注意的是,由于Android系统原生不支持World文件,所以需要用户安装如WPS Office、Microsoft Office等应用来打开文件。如果用户手机上没有安装这样的应用,`ACTION_VIEW`意图可能会抛出`...
1. **创建Intent**: 要调用第三方应用打开文件,首先需要创建一个Intent对象,设置ACTION_VIEW动作。例如,如果你有一个PDF文件需要打开,可以这样写: ```java Intent intent = new Intent(Intent.ACTION_VIEW); `...
3. 点击文件打开文件: 当文件下载完成后,可以通过`Intent`来处理文件的打开。首先,需要确定文件的MIME类型,然后创建一个`Intent`,指定动作(ACTION_VIEW)和数据(文件路径),最后通过`startActivity()`启动...
在Android平台上,调用外部应用来打开特定类型的文件,如PPT,是常见的需求。这里我们将专注于Android如何利用WPS Office这样的第三方应用打开PowerPoint(PPT)文件。首先,我们需要理解Android系统的Intent机制,...
`action`定义了要执行的操作,如`ACTION_VIEW`用于查看或打开文件;`data`则包含文件的URI,用于指定要操作的数据源。 对于不同类型的文件,Intent的创建方法有所不同。以下是一些具体的示例: 1. **HTML文件**: ...
在Android平台上,打开Word文档通常涉及两种主要方法:一种是通过集成特定的库来解析文件,另一种是利用系统 Intent 系统来调用已安装的应用程序进行打开。下面将详细介绍这两种方法。 首先,我们来看看使用第三方...
- **安装Apk**:使用`Intent`启动安装过程,`ACTION_VIEW`和`setDataAndType()`设置对.apk文件的操作和类型。记得添加权限`<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />`。 5...
installIntent.setDataAndType(Uri.fromFile(new File("/sdcard/download/your.apk")), "application/vnd.android.package-archive"); installIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.start...