簡體   English   中英

在Android App中使java.lang.NullPointerException令人困惑

[英]Puzzling java.lang.NullPointerException in Android App

我目前正在使用Android應用程序,幾乎每次使用它時,都會出現錯誤。 在大多數情況下,它不會使應用程序崩潰,但仍然令人沮喪的是,我看到了此錯誤。 我以為我做了檢查,但我可能錯了。 謝謝您的幫助! 相關代碼如下。 (這是相關的,因為if語句之外的行將拋出NullPointerException 。)

 Activity activity;     

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

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

您通常不會以這種方式實例化Activity類。 請在此處查看有關Android Activity類的文檔:

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

您應該發布更多周圍的代碼,但是問題是創建新的Intent需要有效的Context 通常,您可以在Activity (或ServiceBroadcastReceiver )類中創建一個Intent ,因此您可以執行以下操作:

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

有時,您會在其他地方創建它並傳遞該有效Context ,但是您幾乎絕不應該通過直接調用構造函數來創建Activity 要使它有用,還有許多其他初始化需要。

如postet先前所述,除了調用構造函數之外,還需要為活動發起更多的工作。 可能是在Intent構造函數的內部深處出現了一個空指針異常,在該異常中它試圖獲取通常提供的一些Activityinformation信息。

如果您確實要創建服務,那么這里提供了啟動服務的鏈接,但是您應該真正閱讀整篇文章,並可能閱讀更多活動生命周期資源。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM