broadcastreceiver - How to schedule an intent for later in Android? -


i've started android development , encountered problem. i'm trying start intent after specific time.

  1. i tried using runnable , handler.postattime method putting intent in runnable. method nothing when u destroy application or restart phone.

  2. i tried setting broadcastreceiver won't allow me use startactivity(intent) intent. tried using context.startactivity(intent), made app stop working if destroyed before intent completed.

can me out same? thanks.

edit1 :

here's broadcastreceiver call using alarmmanager:

package com.mallock.sch_email2;  import android.content.broadcastreceiver; import android.content.context; import android.content.intent; import android.net.uri; import android.widget.toast;  public class broadcast extends broadcastreceiver{     @override     public void onreceive(context arg0, intent arg1) {         intent intent = new intent(intent.action_sendto);          intent.settype("text/plain");         intent.putextra(intent.extra_subject, activity1.subj);         intent.putextra(intent.extra_text, activity1.body);         intent.setdata(uri.parse("mailto:".concat(activity1.rec)));         intent.addflags(intent.flag_activity_new_task);         startactivity(arg0,intent);         toast.maketext(arg0, "i'm running", toast.length_short).show();     } } 

logcat:

07-15 21:43:13.980    4569-4569/com.mallock.sch_email2 e/androidruntime﹕ fatal exception: main     process: com.mallock.sch_email2, pid: 4569     java.lang.runtimeexception: unable start receiver com.mallock.sch_email2.broadcast: java.lang.nullpointerexception             @ android.app.activitythread.handlereceiver(activitythread.java:2580)             @ android.app.activitythread.access$1700(activitythread.java:151)             @ android.app.activitythread$h.handlemessage(activitythread.java:1397)             @ android.os.handler.dispatchmessage(handler.java:110)             @ android.os.looper.loop(looper.java:193)             @ android.app.activitythread.main(activitythread.java:5292)             @ java.lang.reflect.method.invokenative(native method)             @ java.lang.reflect.method.invoke(method.java:515)             @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:824)             @ com.android.internal.os.zygoteinit.main(zygoteinit.java:640)             @ dalvik.system.nativestart.main(native method)      caused by: java.lang.nullpointerexception             @ java.lang.string.concat(string.java:678)             @ com.mallock.sch_email2.broadcast.onreceive(broadcast.java:16)             @ android.app.activitythread.handlereceiver(activitythread.java:2573)             at android.app.activitythread.access$1700(activitythread.java:151)             at android.app.activitythread$h.handlemessage(activitythread.java:1397)             at android.os.handler.dispatchmessage(handler.java:110)             at android.os.looper.loop(looper.java:193)             at android.app.activitythread.main(activitythread.java:5292)             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:824)             at com.android.internal.os.zygoteinit.main(zygoteinit.java:640)             at dalvik.system.nativestart.main(native method) 

this class you! alarmmanager right way go.


Comments