Wednesday 15 February 2012

java - Unable to send a WhatsApp message programatically -



java - Unable to send a WhatsApp message programatically -

i'm trying send whatsapp messages programatically using next code.

void openwhatsappcontact(string number, context context) { uri uri = uri.parse("smsto:" + number); intent = new intent(intent.action_sendto, uri); i.setpackage("com.whatsapp"); i.putextra(intent.extra_text, "test"); context.startactivity(intent.createchooser(i, "")); }

this helper function called everytime (i checked logging them), fails send message. apparently it's going wrong @ startactivity (from logs). posting log reference.

10-20 15:59:34.029: w/system.err(16336): android.util.androidruntimeexception: calling startactivity() outside of activity context requires flag_activity_new_task flag. want? 10-20 15:59:34.029: w/system.err(16336): @ android.app.contextimpl.startactivity(contextimpl.java:847) 10-20 15:59:34.029: w/system.err(16336): @ android.content.contextwrapper.startactivity(contextwrapper.java:276) 10-20 15:59:34.029: w/system.err(16336): @ android.content.contextwrapper.startactivity(contextwrapper.java:276) 10-20 15:59:34.029: w/system.err(16336): @ com.scimet.admin.driveon.rejectcall.openwhatsappcontact(rejectcall.java:79) 10-20 15:59:34.029: w/system.err(16336): @ com.scimet.admin.driveon.rejectcall.onreceive(rejectcall.java:63) 10-20 15:59:34.029: w/system.err(16336): @ android.app.activitythread.handlereceiver(activitythread.java:2139) 10-20 15:59:34.029: w/system.err(16336): @ android.app.activitythread.access$1500(activitythread.java:127) 10-20 15:59:34.029: w/system.err(16336): @ android.app.activitythread$h.handlemessage(activitythread.java:1208) 10-20 15:59:34.029: w/system.err(16336): @ android.os.handler.dispatchmessage(handler.java:99) 10-20 15:59:34.029: w/system.err(16336): @ android.os.looper.loop(looper.java:137) 10-20 15:59:34.029: w/system.err(16336): @ android.app.activitythread.main(activitythread.java:4441) 10-20 15:59:34.029: w/system.err(16336): @ java.lang.reflect.method.invokenative(native method) 10-20 15:59:34.029: w/system.err(16336): @ java.lang.reflect.method.invoke(method.java:511) 10-20 15:59:34.029: w/system.err(16336): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:784) 10-20 15:59:34.029: w/system.err(16336): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:551) 10-20 15:59:34.029: w/system.err(16336): @ dalvik.system.nativestart.main(native method)

add -

i.setflags(intent.flag_activity_new_task);

java android android-intent

No comments:

Post a Comment