上下文对象是啥意思,在调用intent方法时,要传入一个上下文对象,到底是啥意思⊙_⊙

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了上下文对象是啥意思,在调用intent方法时,要传入一个上下文对象,到底是啥意思⊙_⊙相关的知识,希望对你有一定的参考价值。

Intent可以翻译为意图,它负责对应用中操作的动作及动作所涉及的数据进行描述,android根据Intent的描述,找到相应的组件,将这个Intent传递给调用的组件,从而完成组件的调用。一个Intent对象其实就是信息的捆绑,它包含了接收该Intent的组件所需要的信息。通常,Intent对象包括如下的一些属性:
l 组件名称(ComponentName)
组件名称即为ComponentName对象,该对象包含了目标组件的类名和所属包名。组件名称是可选的,如果设定了的话,Intent对象会被传给指定类的一个实例。如果不设定,则Android使用其他信息来定位合适的目标。组件名称是使用setComponent(),setClass()或setClassName()来设定,使用getComponent()来获取。
l 动作(Action)
动作即为Intent要采取的行动。用一个字符串表示,Android提供了很多自带的动作,可以浏览网页、发送短信等,也可以自己定义Intent动作,要注意的是,要养成良好的习惯,用Java包名的命名方式来命名,因为系统要求动作名是独一无二的。
l 数据(Data)
即为动作要操作的数据,Android中使用URI的方式来指定一个数据。例如,如果Action为ACTION_EDIT,那么Data将包含待编辑的数据URI。如果Action为ACTION_CALL,Data将为tel:电话号码的URI。如果Action为ACTION_VIEW,则Data为http:网络地址的URI。
l 类别(Category)
即为执行动作的附加信息。举几个例子,LAUNCHER_CATEGORY表示Intent的接收者应该作为顶级的launcher。LAUNCHER_CATEGORY表示当前的Intent是多个可选Intent动作中的一个。
l 数据类型(Type)
显示指定Intent的数据类型(MIME)。一般Intent的数据类型能够根据数据本身进行判定,但是通过设置这个属性,可以强制采用显示指定的类型。
l 附加信息(Extras)
使用Extras可以为组件提供扩展信息,例如,如果要执行“发送电子邮件”这个动作,可以将电子邮件的标题、正文等保存在extras里,传给电子邮件发送组件。
通过Intent对象的这些属性,Intent即可对一次组件通信的动作、动作涉及的数据以及附加信息进行描述,Android系统则根据此Intent的描述,负责找到对应的组件,将Intent传递给该组件,并完成组件的调用。
参考技术A 上下文就是Context,上下文对象可以是Activity或者Application实例。

Intent newIntent = new Intent(context, MainActivity.class);
newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(newIntent);

如果是在Activity的成员方法中,可以直接用this代替context。追问

还是不懂,如果后面不是this的话,该写什么,

本回答被提问者采纳

java中构造方法和拷贝构造方法是啥意思

参考技术A 构造函数只能进行浅copy,就是只能复制简单类型如int,float数据到另一副本。
如果对象中包含了对象等复杂类型,浅拷贝对象其实是对象的引用,而不是重新生成一个新副本。这时,如果对一个实例的内部类类型修改,其他实例的内部类类型也会被修改。这时就需要copy构造函数来进行深复制(也就是使对象中包含的类等复杂类型使用值赋值,而不是引用赋值)。

以上是关于上下文对象是啥意思,在调用intent方法时,要传入一个上下文对象,到底是啥意思⊙_⊙的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript里面this的意思是啥?有几种意思?几种用法?

-> 在这个函数调用的上下文中是啥意思? [复制]

Acitivity之Intent调用方法

在 mfc 和 c++ 中调用方法时 :: 是啥意思? [复制]

java传参数时一个冒号是啥意思?

空指针是啥意思