在Android应用程序中令人困惑的java.lang.NullPointerException

时间:2012-05-18 22:28:14

标签: java android mobile

我目前正在开发Android应用程序,几乎每次使用它时,都会出现错误。大多数时候它不会使应用程序崩溃,但是我看到这个错误仍然令人沮丧。我以为我做了检查,但我错了。谢谢您的帮助!相关代码如下。 (这是相关的,因为if语句之外的行正在抛出NullPointerException。)

 Activity activity;     

 if(activity == null)
 {
   activity = new Activity();
 }

 Intent intent = new Intent(activity, Service.class);

3 个答案:

答案 0 :(得分:3)

您通常不会以这种方式实例化Activity类。请在此处查看Android Activity类的文档:

http://developer.android.com/reference/android/app/Activity.html

答案 1 :(得分:0)

您应该发布更多周围的代码,但问题是创建新的Intent需要有效的Context。通常,您会在Intent(或ActivityService)类中创建BroadcastReceiver,以便您可以执行以下操作:

Intent intent = new Intent(this, Service.class);

偶尔你会在其他地方创建它并传递有效的Context,但你几乎不应该通过直接调用构造函数来创建Activity。为了使它有用,还需要进行许多其他初始化。

答案 2 :(得分:0)

如前所述,除了调用构造函数之外,还有更多要启动的活动。可能你会在Intent Constructer深处得到一个空指针异常,它试图获取一些通常提供的Activityinformation。

如果你真的想要创建一个服务,那么就是一个启动服务的链接,但你应该真正阅读整篇文章,可能还有一些活动生命周期资源。

http://developer.android.com/guide/topics/fundamentals/services.html#StartingAService