android– 如何在BroadcastReceiver OnReceive事件上执行HTTP POST请求

android– 如何在BroadcastReceiver OnReceive事件上执行HTTP POST请求,第1张

概述我想在BroadcastReceiver的OnReceive事件上向URL发送HTTPPOST请求,但是我得到了异常NetworkOnMainThreadException,如何在OnReceive事件上运行一个线程.publicvoidonReceive(Contextcontext,Intentintent){finalBundlebundle=intent.getExtras();try{

我想在broadcastReceiver的OnReceive事件上向URL发送http POST请求,但是我得到了异常networkonmainthreadException,如何在OnReceive事件上运行一个线程.

public voID onReceive(Context context, Intent intent) {    final Bundle bundle = intent.getExtras();    try    {        if (bundle != null) {            final Object[] pdusObj = (Object[]) bundle.get("pdus");            for (int i = 0; i < pdusObj.length; i++) {                SmsMessage currentmessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);                String phonenumber =  currentmessage.getdisplayOriginatingAddress();                String senderNum = phonenumber;                String message = currentmessage.getdisplayMessageBody();                String msg = message.substring(5);                 Log.i("SmsReceiver", "senderNum: "+ senderNum + "; message: " + msg);                int duration = Toast.LENGTH_LONG;                Toast toast = Toast.makeText(context, "senderNum: "+ senderNum + ", message: " + msg, duration);                toast.show();                   sendhttprequest("http://example.com/product", "rl", "12345678");                                }        }    }    catch (Exception e) {        Log.e("SmsReceiver", "Exception smsReceiver" +e);    }       }

sendhttprequest是用于调用http post请求的函数.

请帮忙.

解决方法:

请记住,一旦onReceive()返回,broadcastReceiver就可能被系统杀死.这意味着卸载到asynctask / thread的任何工作都不能保证完成.
考虑调用broadcastReceiver:goAsync()以使进程保持活动状态最多10秒.
在这里阅读更多:http://developer.android.com/reference/android/content/BroadcastReceiver.html#goAsync()

总结

以上是内存溢出为你收集整理的android – 如何在BroadcastReceiver OnReceive事件上执行HTTP POST请求全部内容,希望文章能够帮你解决android – 如何在BroadcastReceiver OnReceive事件上执行HTTP POST请求所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1107211.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存