android用于打开各种文件的intent

 Java代码

  1. import android.app.Activity;  
  2.   
  3. import android.content.Intent;  
  4.   
  5. import android.net.Uri;  
  6.   
  7. import android.net.Uri.Builder;  
  8.   
  9. import java.io.File;  
  10.   
  11. import android.content.Intent;  
  12.   
  13. //自定义android Intent类,  
  14.   
  15. //可用于获取打开以下文件的intent  
  16.   
  17. //PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,VIDEO  
  18.   
  19. 示例:  
  20.   
  21. //这个不行,可能是因为PDF.apk程序没有权限访问其它APK里的asset资源文件,又或者是路径写错?  
  22.   
  23. //Intent it = getPdfFileIntent("file:///android_asset/helphelp.pdf");  
  24.   
  25. //下面这些都OK  
  26.   
  27. //Intent it = getHtmlFileIntent("/mnt/sdcard/tutorial.html");//SD卡主目录  
  28.   
  29. //Intent it = getHtmlFileIntent("/sdcard/tutorial.html");//SD卡主目录,这样也可以  
  30.   
  31. Intent it = getHtmlFileIntent("/system/etc/tutorial.html");//系统内部的etc目录  
  32.   
  33. //Intent it = getPdfFileIntent("/system/etc/helphelp.pdf");  
  34.   
  35. //Intent it = getWordFileIntent("/system/etc/help.doc");  
  36.   
  37. //Intent it = getExcelFileIntent("/mnt/sdcard/Book1.xls")  
  38.   
  39. //Intent it = getPptFileIntent("/mnt/sdcard/download/Android_PPT.ppt");//SD卡的download目录下  
  40.   
  41. //Intent it = getVideoFileIntent("/mnt/sdcard/ice.avi");  
  42.   
  43. //Intent it = getAudioFileIntent("/mnt/sdcard/ren.mp3");  
  44.   
  45. //Intent it = getImageFileIntent("/mnt/sdcard/images/001041580.jpg");  
  46.   
  47. //Intent it = getTextFileIntent("/mnt/sdcard/hello.txt",false);  
  48.   
  49. startActivity( it );  
  50.   
  51. public class MyIntent  
  52.   
  53. {  
  54.   
  55.  //android获取一个用于打开HTML文件的intent  
  56.   
  57.   public static Intent getHtmlFileIntent( String param )  
  58.   
  59.   {  
  60.   
  61.     Uri uri = Uri.parse(param ).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(param ).build();  
  62.   
  63.     Intent intent = new Intent("android.intent.action.VIEW");  
  64.   
  65.     intent.setDataAndType(uri, "text/html");  
  66.   
  67.     return intent;  
  68.   
  69.   }  
  70.   
  71.  //android获取一个用于打开图片文件的intent  
  72.   
  73.   public static Intent getImageFileIntent( String param )  
  74.   
  75.   {  
  76.   
  77.     Intent intent = new Intent("android.intent.action.VIEW");  
  78.   
  79.     intent.addCategory("android.intent.category.DEFAULT");  
  80.   
  81.     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  82.   
  83.     Uri uri = Uri.fromFile(new File(param ));  
  84.   
  85.     intent.setDataAndType(uri, "image/*");  
  86.   
  87.     return intent;  
  88.   
  89.   }  
  90.   
  91.   //android获取一个用于打开PDF文件的intent  
  92.   
  93.   public static Intent getPdfFileIntent( String param )  
  94.   
  95.   {  
  96.   
  97.     Intent intent = new Intent("android.intent.action.VIEW");  
  98.   
  99.     intent.addCategory("android.intent.category.DEFAULT");  
  100.   
  101.     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  102.   
  103.     Uri uri = Uri.fromFile(new File(param ));  
  104.   
  105.     intent.setDataAndType(uri, "application/pdf");  
  106.   
  107.     return intent;  
  108.   
  109.   }  
  110.   
  111.  //android获取一个用于打开文本文件的intent  
  112.   
  113.  public static Intent getTextFileIntent( String param, boolean paramBoolean)   
  114.   
  115. {  
  116.   
  117.  Intent intent = new Intent("android.intent.action.VIEW");  
  118.   
  119.   intent.addCategory("android.intent.category.DEFAULT");  
  120.   
  121.  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  122.   
  123.  if (paramBoolean)  
  124.   
  125.  {  
  126.   
  127. Uri uri1 = Uri.parse(param );  
  128.   
  129.  intent.setDataAndType(uri1, "text/plain");  
  130.   
  131.  }  
  132.   
  133.  else  
  134.   
  135.  {  
  136.   
  137. Uri uri2 = Uri.fromFile(new File(param ));  
  138.   
  139. intent.setDataAndType(uri2, "text/plain");  
  140.   
  141.  }  
  142.   
  143.  return intent;  
  144.   
  145. }  
  146.   
  147.  //android获取一个用于打开音频文件的intent  
  148.   
  149.   public static Intent getAudioFileIntent( String param )  
  150.   
  151.   {  
  152.   
  153.     Intent intent = new Intent("android.intent.action.VIEW");  
  154.   
  155.     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
  156.   
  157.   intent.putExtra("oneshot", 0);  
  158.   
  159.     intent.putExtra("configchange", 0);  
  160.   
  161.     Uri uri = Uri.fromFile(new File(param ));  
  162.   
  163.     intent.setDataAndType(uri, "audio/*");  
  164.   
  165.     return intent;  
  166.   
  167.   }  
  168.   
  169.   //android获取一个用于打开视频文件的intent  
  170.   
  171.   public static Intent getVideoFileIntent( String param )  
  172.   
  173.   {  
  174.   
  175.      Intent intent = new Intent("android.intent.action.VIEW");  
  176.   
  177.     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
  178.   
  179.     intent.putExtra("oneshot", 0);  
  180.   
  181.     intent.putExtra("configchange", 0);  
  182.   
  183.     Uri uri = Uri.fromFile(new File(param ));  
  184.   
  185.     intent.setDataAndType(uri, "video/*");  
  186.   
  187.     return intent;  
  188.   
  189.   }  
  190.   
  191.   //android获取一个用于打开CHM文件的intent  
  192.   
  193.   public static Intent getChmFileIntent( String param )  
  194.   
  195.   {   
  196.   
  197.     Intent intent = new Intent("android.intent.action.VIEW");  
  198.   
  199.     intent.addCategory("android.intent.category.DEFAULT");  
  200.   
  201.     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  202.   
  203.     Uri uri = Uri.fromFile(new File(param ));  
  204.   
  205.     intent.setDataAndType(uri, "application/x-chm");  
  206.   
  207.     return intent;  
  208.   
  209.   }  
  210.   
  211.  //android获取一个用于打开Word文件的intent  
  212.   
  213.    public static Intent getWordFileIntent( String param )  
  214.   
  215.   {  
  216.   
  217.      Intent intent = new Intent("android.intent.action.VIEW");  
  218.   
  219.      intent.addCategory("android.intent.category.DEFAULT");  
  220.   
  221.      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  222.   
  223.      Uri uri = Uri.fromFile(new File(param ));  
  224.   
  225.      intent.setDataAndType(uri, "application/msword");  
  226.   
  227.      return intent;  
  228.   
  229.    }  
  230.   
  231.  //android获取一个用于打开Excel文件的intent  
  232.   
  233.    public static Intent getExcelFileIntent( String param )  
  234.   
  235.    {  
  236.   
  237.      Intent intent = new Intent("android.intent.action.VIEW");  
  238.   
  239.      intent.addCategory("android.intent.category.DEFAULT");  
  240.   
  241.      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  242.   
  243.      Uri uri = Uri.fromFile(new File(param ));  
  244.   
  245.      intent.setDataAndType(uri, "application/vnd.ms-excel");  
  246.   
  247.      return intent;  
  248.   
  249.    }  
  250.   
  251.  //android获取一个用于打开PPT文件的intent  
  252.   
  253.    public static Intent getPptFileIntent( String param )  
  254.   
  255.    {  
  256.   
  257.      Intent intent = new Intent("android.intent.action.VIEW");  
  258.   
  259.      intent.addCategory("android.intent.category.DEFAULT");  
  260.   
  261.      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  262.   
  263.      Uri uri = Uri.fromFile(new File(param ));  
  264.   
  265.      intent.setDataAndType(uri, "application/vnd.ms-powerpoint");  
  266.   
  267.      return intent;  
  268.   
  269.    }  
  270.   
  271. }  
时间: 2024-10-03 20:09:20

android用于打开各种文件的intent的相关文章

Android实现打开各种文件的intent方法小结

本文实例讲述了Android实现打开各种文件的intent方法.分享给大家供大家参考,具体如下: import android.app.Activity; import Android.content.Intent; import android.net.Uri; import android.net.Uri.Builder; import Java.io.File; import android.content.Intent; //自定义android Intent类, //可用于获取打开以下

android打开pdf ppt word excel chm html text 文件的intent

以下代码未经测试.但是有我想找的,先贴过来,慢慢了解-- import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.net.Uri.Builder; import java.io.File; import android.content.Intent; //自定义android Intent类, //可用于获取打开以下文件的intent //PDF,PPT,

Android编程开发之打开文件的Intent及使用方法_Android

本文实例讲述了Android编程开发之打开文件的Intent及使用方法.分享给大家供大家参考,具体如下: 在写文件管理系统时会用到各种打开不同格式的文件的需求,由于Android系统默认内置了一些可以打开的系统应用,但还是不能满足需求,比如打开视频文件.word等,需要安装相应的播放软件才可以使用,这时程序会通过Intent查找可以使用的软件实现通过代码打开一个文件需要2部分,一部分是要获取到不同文件的后缀,以便根据需求匹配相应的Intent,另一个就是不同格式的文件打开的Intent不同 1.

Android--用intent打开各种文件

[java] view plain copy  print? import android.app.Activity;   import android.content.Intent;   import android.net.Uri;   import android.net.Uri.Builder;   import java.io.File;   import android.content.Intent;   //自定义android Intent类,   //可用于获取打开以下文件的i

【技术贴】​用程序调用福昕阅读器打开pdf文件|解决C:\Program files不是内部或外部命

[技术贴]调用福昕阅读器的命令行方式打开pdf文件|解决C:\Program files中间有空格 不是内部或外部命令.   一 首先是解决路径中含有空格的这个问题,你可以把它当做环境变量写进path里面,或者像我一样,在路径外面套上双引号,如图. >"C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe" "C:\report3.pdf" -n 二 调用命令行的方式打开pdf文档,有些时候

Android必知必会-使用Intent打开第三方应用及验证可用性

本文讲的是Android必知必会-使用Intent打开第三方应用及验证可用性,一个普通的应用默认会有一个入口 Activity,它在 AndroidManifest.xml 中一般这样写: <application>      <activity android:name=".MainActivity" >          <intent-filter>              <action android:name="andr

在android程序中打开HPROF文件时出错

问题描述 在android程序中打开HPROF文件时出错 当我用Memory Analyzer打开HPROF文件时(由Debug.dumpHprofData创建),得到的是以下的异常: java.io.IOException: Unknown HPROF Version (JAVA PROFILE 1.0.3) at org.eclipse.mat.hprof.AbstractParser.readVersion(AbstractParser.java:124) at org.eclipse.m

eclipse 每次打开xml文件都会一直loadding data for android 求助

问题描述 eclipse 每次打开xml文件都会一直loadding data for android 求助 eclipse 每次打开xml文件都会一直loadding data for android, 如下图 , 求助 解决方案 它要加载Android的库,不影响你使用就行 解决方案二: 去除eclipse中xml文件的 No grammar constraints (DTD or XML schema) detected for the document警告每次运行都会自动生成****ou

android开发-android“无法打开文件”

问题描述 android"无法打开文件" 现在问题是,某些机型的 android 系统,默认的 浏览器 把 apk 下载后,在 浏览器 本身的"下载"文件中,点击成功下载的 apk 文件,提示"无法打开文件", 但是,我们回到 android 桌面上,进入"文件夹",则可以安装刚刚用默认的 浏览器 下载的文件