android用于打开各种文件的intent

  •  

    android用于打开各种文件的intent  

    Java代码

    import android.app.Activity;  

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值