我目前正在开发Android应用程序,几乎每次使用它时,都会出现错误。大多数时候它不会使应用程序崩溃,但是我看到这个错误仍然令人沮丧。我以为我做了检查,但我错了。谢谢您的帮助!相关代码如下。 (这是相关的,因为if
语句之外的行正在抛出NullPointerException
。)
Activity activity;
if(activity == null)
{
activity = new Activity();
}
Intent intent = new Intent(activity, Service.class);
答案 0 :(得分:3)
您通常不会以这种方式实例化Activity类。请在此处查看Android Activity类的文档:
http://developer.android.com/reference/android/app/Activity.html
答案 1 :(得分:0)
您应该发布更多周围的代码,但问题是创建新的Intent
需要有效的Context
。通常,您会在Intent
(或Activity
或Service
)类中创建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