Intent打开各种类型文件各步骤的意义

参考网站:
http://blog.csdn.net/zuolongsnail/article/details/6574211

Android中activity的调度是以Task为容器,task可以理解为是stack,即栈。调度一个应用程序就是将它所包含的activity放入栈顶,如果要调用另一个时就会将原先的应用程序压入栈中,然后把新的程序的activity放到栈顶。
Intent可以看作是一个传递员,负责将不同的activity连接在一起,告诉系统要从该activity跳转到哪个activity中。

Intent组件介绍:
Flags:设定怎么启动目标Activity,如果该Intent是空的,那么你需要使用addFlags()来进行定义,如果Intent是有内容的,那么你需要使用setFlags()来定义。
参数介绍:
FLAG_ACTIVITY_NEW_TASK
该参数能够让系统将新的activity放入新的Task中,让该activity可以单独完成,而与启动它们的activity无关。

Action:指定Intent的执行动作,例如ACTION_VIEW说明该Intent指向的activity是显示用的。

Data:表示数据(在这里是指uri对应的对象)和MIME类型的作用,与action对应。数据指的是你的Intent是对什么东西进行操作,而MIME则是设定某种拓展名的文件是用那种应用程序来打开。

函数介绍:
setDataAndType(uri, MIME),前一个参数表示intent要操作的数据对象;后者表示该数据是什么类型,用什么应用程序打开。

Android打开文件的各步骤的意义:

public Intent getVideoFileIntent(String param){
    Intent intent = new Intent();
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.setAction(Intent.ACTION_VIEW);
    Uri uri = Uri.fromFile(new File(param) );
    intent.setDataAndType(uri, "video/*");
    return intent;
}

但我们点击某个文件想要打开该文件的时候,需要使用itent来告诉系统我们的意图。所以需要自己设定一个intent。从第二行代码开始看起,我们对其的标志进行设定,说明该itent操作的对象需要在新的Task中进行,然后我们指定执行动作为显示,之后我们需要告诉系统操作的是什么东西,所以我们将文件变成资源标识符,通过setDataAndType来设置是使用打开video类型的应用程序来打开该文件,最后将intent返回。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值