Android Intent构造函数参数
Intent类有6个构造函数 Intent() 创建一个空的意图Android Intent构造函数参数,android,android-fragments,android-intent,Android,Android Fragments,Android Intent,Intent类有6个构造函数 Intent() 创建一个空的意图 意图(意图o) 复制构造函数 意图(字符串动作) 用给定的动作创建意图 Intent(字符串操作,Uri) 使用给定的操作和给定的数据url创建意图 意图(上下文包上下文,类cls) 为特定组件创建意图 Intent(字符串操作、Uri、上下文包上下文、类cls) 使用指定的操作和方法为特定组件创建意图 数据 我几乎是android编程新手,当我需要开始另一个活动或片段时,我通常会使用第五个: Intent(Contex
意图(意图o) 复制构造函数
意图(字符串动作) 用给定的动作创建意图
Intent(字符串操作,Uri) 使用给定的操作和给定的数据url创建意图
意图(上下文包上下文,类cls) 为特定组件创建意图
Intent(字符串操作、Uri、上下文包上下文、类cls) 使用指定的操作和方法为特定组件创建意图 数据 我几乎是android编程新手,当我需要开始另一个
活动
或片段
时,我通常会使用第五个:
Intent(Context packageContext, Class<?> cls)
据我所知,getActivity()
将返回一个Activity
但是构造函数需要一个上下文
,这怎么可能呢
是否可能是因为由
getActivity()
隐式调用getApplicationContext()
返回的Activity
扩展了上下文,因此您可以直接强制转换它:
Intent i = new Intent((Context)getActivity(), DestinationActivity.class);
仔细查看第五个意图声明中的参数
Context
。它反映了多态性。Intent
接受一个Context
参数,因此您可以传递Context
或从Context
类派生的任何对象
Activity、AppCompatActivity、IntentService和Service都派生自上下文
类,因此可以作为参数传递给方法
活动继承上下文。因此,如果您在一个活动中,您只需要传递它自己来使用上下文。它还包含一个指向getBaseContext()的指针。如果需要整个应用程序上下文,您可能偶尔需要引用它,但很可能暂时不会
您可以找到有关活动类的更多详细信息
关于intent构造函数参数的这一点与您的类似,并且有一个非常好的答案。我想你想看看
希望有帮助。在API文档中查看上下文是如何被嵌入的。您可以从活动、应用程序或片段返回上下文。其中任何一项也是上下文;)你提供的链接是我自己的问题(这个问题)@hamid\u c抱歉!我把它们弄混了。修好了!:)a@Marcin奥尔洛夫斯基。我希望你能解决我的问题。我正在创建一个特定于组件的意图。我在第二个参数下面得到了一条红色波浪线,这是我在下面代码中的服务类名。Intent wifi_Intent=新的Intent(Application.Context,WifiMonitoringService.class);当我把鼠标放在上面时,上面写着“预期”错误。请帮帮我。我已经发布了这个问题。您可以在以下链接中找到它
Intent i = new Intent((Context)getActivity(), DestinationActivity.class);