android用于打开各种文件的intent,包括以下文件PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,VIDEO

wishwingliao 2011-03-29 03:33:31
加精
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,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,VIDEO

public class MyIntent

{



//android获取一个用于打开HTML文件的intent

public static Intent getHtmlFileIntent( String param )

{

Uri uri = Uri.parse(param ).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(param ).build();

Intent intent = new Intent("android.intent.action.VIEW");

intent.setDataAndType(uri, "text/html");

return intent;

}



//android获取一个用于打开图片文件的intent

public static Intent getImageFileIntent( String param )

{

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(param ));

intent.setDataAndType(uri, "image/*");

return intent;

}



//android获取一个用于打开PDF文件的intent

public static Intent getPdfFileIntent( String param )

{

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(param ));

intent.setDataAndType(uri, "application/pdf");

return intent;

}



//android获取一个用于打开文本文件的intent

public static Intent getTextFileIntent( String paramString, boolean paramBoolean)

{

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");

}

while (true)

{

return intent;

Uri uri2 = Uri.fromFile(new File(param ));

intent.setDataAndType(uri2, "text/plain");

}

}











//android获取一个用于打开音频文件的intent

public static Intent getAudioFileIntent( String param )

{

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(param ));

intent.setDataAndType(uri, "audio/*");

return intent;

}







//android获取一个用于打开视频文件的intent

public static Intent getVideoFileIntent( String param )

{

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(param ));

intent.setDataAndType(uri, "video/*");

return intent;

}





//android获取一个用于打开CHM文件的intent

public static Intent getChmFileIntent( String param )

{

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(param ));

intent.setDataAndType(uri, "application/x-chm");

return intent;

}







//android获取一个用于打开Word文件的intent

public static Intent getWordFileIntent( String param )

{

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(param ));

intent.setDataAndType(uri, "application/msword");

return intent;

}



//android获取一个用于打开Excel文件的intent

public static Intent getExcelFileIntent( String param )

{

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(param ));

intent.setDataAndType(uri, "application/vnd.ms-excel");

return intent;

}





//android获取一个用于打开PPT文件的intent

public static Intent getPptFileIntent( String param )

{

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(param ));

intent.setDataAndType(uri, "application/vnd.ms-powerpoint");

return intent;

}



}
...全文
11240 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
LakeSideHu 2013-10-16
  • 打赏
  • 举报
回复
有个屁用,还不是要第三方的
u010857921 2013-10-08
  • 打赏
  • 举报
回复
楼主是要用第三方的插件啊,而且写得很复杂.........
今生逍遥 2013-05-10
  • 打赏
  • 举报
回复
引用 14 楼 M_o_n_e_y 的回复:
哎。直接从人家那里复制粘贴的帖子啊。
求完整的调用例子,不知道怎么开始那个意图
m_o_n_e_y 2013-05-10
  • 打赏
  • 举报
回复
引用 15 楼 u010640535 的回复:
[quote=引用 14 楼 M_o_n_e_y 的回复:] 哎。直接从人家那里复制粘贴的帖子啊。
求完整的调用例子,不知道怎么开始那个意图[/quote]同求啊,但是楼主的这个帖子是偷来的,不是原创啊。
m_o_n_e_y 2013-05-07
  • 打赏
  • 举报
回复
哎。直接从人家那里复制粘贴的帖子啊。
m_o_n_e_y 2013-05-07
  • 打赏
  • 举报
回复
引用 10 楼 libei_march 的回复:
如何打开? startActivity(intent)??? 要使用哪个Activity打开?
目测楼主的意思是调用第三方应用来打开
m_o_n_e_y 2013-05-07
  • 打赏
  • 举报
回复
楼主好人,好人好报。但不知道是否是亲测。
sunqimin 2012-10-30
  • 打赏
  • 举报
回复
。。。还好,原来这样打开的,,只是不知道怎么导出这些文件比如导出pdf
libei_march 2012-10-15
  • 打赏
  • 举报
回复
如何打开? startActivity(intent)??? 要使用哪个Activity打开?
yadang1209 2012-05-10
  • 打赏
  • 举报
回复
可以先判断文件类型
//打开word为例
Intent intent = new Intent();
intent = FileIntent.getWordFileIntent("文件路径");
startActivity( intent );
wang271858003 2012-03-12
  • 打赏
  • 举报
回复
请问有没有关于 关闭PDF文件的intent 啊有的话麻烦告诉我一下 我邮箱271858003@qq.com , 谢谢
xqhrs232 2011-12-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhangkaixt 的回复:]
这样的Intent怎么打开word文档
[/Quote]

同问
zhangkaixt 2011-12-24
  • 打赏
  • 举报
回复
这样的Intent怎么打开word文档
米尤人 2011-03-30
  • 打赏
  • 举报
回复
不知道这个贴子是什么意思 ?你是想问问题呢,还是想找什么思路,你还是想大家看你的代码?
beyondma 2011-03-29
  • 打赏
  • 举报
回复
这个代码太复杂了,直接把一个枚举TYPE传进来就完了。
男主角 2011-03-29
  • 打赏
  • 举报
回复
给个精简后的程序啊 。
楼主,直接添加JAVA格式的文件,好看点。
DrSmart 2011-03-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ultrapro 的回复:]
代码有重复,可以精简.
[/Quote]

是啊,传两个参数data和type就行了
儿大不由爷 2011-03-29
  • 打赏
  • 举报
回复
代码有重复,可以精简.

80,363

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧