Question

am new to the world of android and while am trying to make use of alarm in a reminder application. When i set the time and date and press the finish button , a dialog box with the following message appears "unfortunately universalreminder has stopped"

the java code that will be executed when i press the finish button is

    finishBasic = (Button)findViewById(R.id.buttonforfinishinbirthdaybasic);
    finishBasic.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            cal_birthdaybasic.set(yeartopass,monthtopass,daytopass,hourtopass,minutetopass,00);
            Toast.makeText(getApplicationContext(), "asdsa", Toast.LENGTH_LONG).show();
            setAlarm(cal_birthdaybasic);
            Intent i = new Intent(Set_birthday_reminder.this,Newreminder.class);
            startActivity(i);

        }
    });

am passing a calender variable cal_birthdaybasc with the time and date to the method setAlarm(),

    public void setAlarm(Calendar targetCal){
    Toast.makeText(getApplicationContext(), "setAlarm is called", Toast.LENGTH_LONG).show();
    Intent intent = new Intent(getBaseContext(),AlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), RQS_1, intent, 0);
    AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    alarmManager.set(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(), pendingIntent);
}

the broadcast receiver is as follows

    public class AlarmReceiver extends BroadcastReceiver{

@Override
public void onReceive(Context arg0, Intent arg1) {
    // TODO Auto-generated method stub
    MediaPlayer mp = MediaPlayer.create(arg0, R.raw.gunshot);
    mp.start();
    Toast.makeText(arg0, "Alarm Received", Toast.LENGTH_LONG).show();

}

}

when i run this code the errors that am getting in the catlog is

    04-16 10:56:26.090: E/AndroidRuntime(1234): FATAL EXCEPTION: main
    04-16 10:56:26.090: E/AndroidRuntime(1234): Process: com.universalremainder, PID: 1234
    04-16 10:56:26.090: E/AndroidRuntime(1234): java.lang.NullPointerException
    04-16 10:56:26.090: E/AndroidRuntime(1234):     at com.universalremainder.Set_birthday_reminder$5.onClick(Set_birthday_reminder.java:108)
    04-16 10:56:26.090: E/AndroidRuntime(1234):     at android.view.View.performClick(View.java:4424)
    04-16 10:56:26.090: E/AndroidRuntime(1234):     at android.view.View$PerformClick.run(View.java:18383)
    04-16 10:56:26.090: E/AndroidRuntime(1234):     at android.os.Handler.handleCallback(Handler.java:733)
    04-16 10:56:26.090: E/AndroidRuntime(1234):     at android.os.Handler.dispatchMessage(Handler.java:95)
    04-16 10:56:26.090: E/AndroidRuntime(1234):     at android.os.Looper.loop(Looper.java:137)
    04-16 10:56:26.090: E/AndroidRuntime(1234):     at android.app.ActivityThread.main(ActivityThread.java:4998)
    04-16 10:56:26.090: E/AndroidRuntime(1234):     at java.lang.reflect.Method.invokeNative(Native Method)
    04-16 10:56:26.090: E/AndroidRuntime(1234):     at java.lang.reflect.Method.invoke(Method.java:515)
    04-16 10:56:26.090: E/AndroidRuntime(1234):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
    04-16 10:56:26.090: E/AndroidRuntime(1234):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
    04-16 10:56:26.090: E/AndroidRuntime(1234):     at dalvik.system.NativeStart.main(Native Method)
Was it helpful?

Solution

Initialize cal_birthdaybasic like below

cal_birthdaybasic = Calendar.getInstance();

then use

cal_birthdaybasic.set(yeartopass,monthtopass,daytopass,hourtopass,minutetopass,00);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top