这是我的代码,当收到推送通知时,我必须在 AsyncTask 中执行一些 http 请求。据我了解,如果我需要在推送通知到达时执行某些操作,我必须在 OnMessage() 方法中执行此操作。但是,应用程序在收到通知时崩溃并且不执行我需要它执行的操作:代码:
@Override
protected void onMessage(Context context, Intent intent) {
Log.i(TAG, "Received message");
String message = intent.getExtras().getString("price");
//sends info to the server
new PostAsyncTask().execute();
displayMessage(context, message);
// notifies user
generateNotification(context, message);
}
非常感谢!(如果您需要整个班级,请直接说出来。但是我可以告诉您 PostAsyncTask 执行一些 httpRequest 代码。)
日志猫:
AsyncTask:(它只是调用一个执行一些http请求的函数)
class PostAsyncTask extends AsyncTask<String, Integer, Boolean> {
protected Boolean doInBackground(String... params) {
ReNewCoordinates();
postData(lat, lon);
return true;
}
protected void onPreExecute() {
// show progress dialog
}
protected void onPostExecute(Long result) {
// hide progress dialog
}
}