0

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

 Activity activity;     

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

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

3 回答 3

3

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

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

于 2012-05-18T22:34:26.073 回答
0

您应该发布更多周围的代码,但您的问题是创建新Intent的需要有效的Context. Intent通常,您在Activity(或Service或)类中创建一个,BroadcastReceiver因此您可以执行以下操作:

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

有时您会在其他地方创建它并将其传递给 valid Context,但您几乎不应该Activity通过直接调用构造函数来创建 an 。要使其有用,还需要进行许多其他初始化。

于 2012-05-18T22:34:47.563 回答
0

正如 postet 之前的那样,对于一个活动来说,除了调用构造函数之外,还有更多的事情要启动。可能您在 Intent 构造函数的深处得到一个空指针异常,它试图获取一些通常提供的活动信息。

如果你真的想创建一个服务,这里有一个启动服务的链接,但你应该真正阅读整篇文章,可能还有更多的活动生命周期资源。

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

于 2012-05-18T23:16:11.950 回答