-3

I am trying to make simple alarm app using android studio...I think my code is correct although it crashes.I think the problem is with alarm receiver and service class....i have use if-else to specify if alarm is on and ringtone is off or alarm is on or ringtone off and some more.... please help....thanks

here is the code:

will this do:

E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.example.lakshya.wakeywakey, PID: 2120
                  java.lang.RuntimeException: Unable to start service com.example.lakshya.wakeywakey.RingtonePlayService@4a8166c0 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) 

1 Answers1

0

Your error is inside onStartCommand method

I guess on that line, because bundle can be null or doesnt contain string "extra"

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

Just add check for null

String state = intent.getExtras().getString("extra");
if (state == null)
   state = "null";
Log.e("Ringtone extra is" ,state);
Andrey Danilov
  • 6,194
  • 5
  • 32
  • 56
  • thanx deadmc....app does not crash but it doesn't work....ringtone does not play on setting alarm.....please see to it too – user7786905 May 29 '17 at 11:46
  • @user7786905 does your app run media_song.start();? – Andrey Danilov May 29 '17 at 12:12
  • yeah it does@DEADMC – user7786905 May 29 '17 at 13:39
  • when i set on the alarm ,the 'extra' sent to receiver and service is null while on switching off it works fine...can u see my alarm clock java classes....i think the problem is with handler. – user7786905 May 29 '17 at 14:54
  • I know You have posted the answer to the question but at least help me run the app properly... – user7786905 May 29 '17 at 15:39
  • @user7786905 its hard to say where **exactly** your code works not as expected. And there is too much doubtful code, especially I cant understand why dont you use something like EventBus instead of strange handler and multiple bundles. – Andrey Danilov May 29 '17 at 15:55