Intent(getApplicationContext(),class)和Intent(class)之间有什么区别

时间:2013-02-21 07:08:51

标签: android android-intent

我正在编写代码作为参考,并遇到此Intent调用:Intent(getApplicationContext(), secondActivity.class)

我感到困惑,因为在我的项目中我只使用:Intent(".mYSecondActivity")
我尝试删除getApplicationContext()并将其更改为Intent(".secondActivity")',其中名称已在清单中注册。我运行应用程序并强制关闭。 getApplicationContext()的重要性是什么?

编码

secondActivity.class以从PHP MYSQL数据库中检索数据。

2 个答案:

答案 0 :(得分:2)

getApplicationContext():返回整个应用程序的上下文(所有活动正在其中运行的进程)。如果您需要与整个应用程序的生命周期相关联的上下文,而不仅仅是当前的Activity,请使用此代替当前的Activity上下文。

第一个答案中有一篇优秀的文章:

What's the difference between the various methods to get a Context?

究竟是什么背景?根据Android参考文档,它是一个代表各种环境数据的实体。它提供对本地文件,数据库,与环境关联的类加载器,服务(包括系统级服务)等的访问。在本书和使用Android的日常编码中,您将看到Context经常传递。来自:“Android in Practice”一书。

enter image description here

答案 1 :(得分:0)

“这提供了一种方便的方法来创建一个旨在执行硬编码类名的意图,而不是依靠系统为您找到合适的类。” 来源:http://developer.android.com/reference/android/content/Intent.html#Intent%28android.content.Context,%20java.lang.Class%3C?%3E%29