2017-05-23 27 views
-3

我想使用android工作室製作簡單的鬧鐘應用程序...我 認爲我的代碼是正確的,雖然它崩潰。我認爲問題是與 報警接收器和服務類....我有使用的if-else指定是否報警 是和鈴聲關閉或報警或鈴聲關閉,一些更.... 請幫助....感謝安卓鬧鐘應用程序崩潰

這裏是代碼:

會這樣做:

E/AndroidRuntime: FATAL EXCEPTION: main 
        Process: com.example.lakshya.wakeywakey, PID: 2120 
        java.lang.RuntimeException: Unable to start service [email protected] with Intent { cmp=com.example.lakshya.wakeywakey/.RingtonePlayService (has extras) }: java.lang.NullPointerException: println needs a message 
         at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2717) 
         at android.app.ActivityThread.access$2100(ActivityThread.java:135) 
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293) 
         at android.os.Handler.dispatchMessage(Handler.java:102) 
         at android.os.Looper.loop(Looper.java:136) 
         at android.app.ActivityThread.main(ActivityThread.java:5019) 
         at java.lang.reflect.Method.invokeNative(Native Method) 
         at java.lang.reflect.Method.invoke(Method.java:515) 
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
         at dalvik.system.NativeStart.main(Native Method) 
        Caused by: java.lang.NullPointerException: println needs a message 
         at android.util.Log.println_native(Native Method) 
         at android.util.Log.e(Log.java:232) 
         at com.example.lakshya.wakeywakey.RingtonePlayService.onStartCommand(RingtonePlayService.java:37) 
         at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2700) 
         at android.app.ActivityThread.access$2100(ActivityThread.java:135)  
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293)  
         at android.os.Handler.dispatchMessage(Handler.java:102)  
         at android.os.Looper.loop(Looper.java:136)  
         at android.app.ActivityThread.main(ActivityThread.java:5019)  
         at java.lang.reflect.Method.invokeNative(Native Method)  
         at java.lang.reflect.Method.invoke(Method.java:515)  
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)  
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)  
         at dalvik.system.NativeStart.main(Native Method)  
+0

添加堆棧跟蹤日誌,幾乎不可能說出什麼錯沒有它 – DEADMC

+0

我已經通過添加日誌更新了我的問題.....但仍然沒有其他用戶的回覆......告訴我添加任何內容或刪除不必要的內容.. ......等待回覆...... – user7786905

+0

那是因爲你的日誌不包含** Exception **。只是日誌顯示什麼都沒有,我們需要Exception stacktrace log。 – DEADMC

回答

0

你的錯誤是裏面onStartCommand方法

我想在這一行,因爲包可以爲空或犯規包含字符串「額外」

String state = intent.getExtras().getString("extra"); 
Log.e("Ringtone extra is" ,state); 

只需添加檢查空

String state = intent.getExtras().getString("extra"); 
if (state == null) 
    state = "null"; 
Log.e("Ringtone extra is" ,state); 
+0

thanx deadmc ....應用程序不會崩潰,但它不起作用....鈴聲不會在設置警報.....播放請看它 – user7786905

+0

@ user7786905您的應用程序運行media_song.start() ;? – DEADMC

+0

是的,它是@ DEADMC – user7786905