zoukankan      html  css  js  c++  java
  • android用于打开各种文件的intent

    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. }  
  • 相关阅读:
    Shell 字符串处理
    Shell 变量替换及测试
    ARTS(一)
    instanceof & isAssignableFrom的异同
    mysql 分组排序取最值
    guava-retrying 源码解析(阻塞策略详解)
    guava-retrying 源码解析(时间限制策略)
    guava-retrying 源码解析(停止策略详解)
    guava-retrying 源码解析(等待策略详解)
    guava-retrying 源码解析(导入项目)
  • 原文地址:https://www.cnblogs.com/xingmeng/p/2421511.html
Copyright © 2011-2022 走看看