Android 仅在执行某些函数后显示收到的推送通知
现在我已经这样做了:单击通知将导致一个活动,从那里我调用一个asynctask,然后显示结果,但我需要像whatsapp一样的快速加载效果。因此,我需要在显示通知之前加载整个dataasynctask,这意味着我必须在通知执行后在收到通知时调用asynctask,只在通知栏上显示通知消息 这是我的收音机Android 仅在执行某些函数后显示收到的推送通知,android,push-notification,urbanairship.com,Android,Push Notification,Urbanairship.com,现在我已经这样做了:单击通知将导致一个活动,从那里我调用一个asynctask,然后显示结果,但我需要像whatsapp一样的快速加载效果。因此,我需要在显示通知之前加载整个dataasynctask,这意味着我必须在通知执行后在收到通知时调用asynctask,只在通知栏上显示通知消息 这是我的收音机 import android.content.BroadcastReceiver; import android.content.Context; import android.content.
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import com.urbanairship.UAirship;
import com.urbanairship.push.PushManager;
public class IntentReceiver extends BroadcastReceiver {
private static final String logTag = "PushSample";
@Override
public void onReceive(Context context, Intent intent) {
Log.i(logTag, "Received intent: " + intent.toString());
String action = intent.getAction();
if (action.equals(PushManager.ACTION_PUSH_RECEIVED)) {
int id = intent.getIntExtra(PushManager.EXTRA_NOTIFICATION_ID, 0);
Log.i(logTag, "Received push notification. Alert: "
+ intent.getStringExtra(PushManager.EXTRA_ALERT)
+ " [NotificationID="+id+"]");
} else if (action.equals(PushManager.ACTION_NOTIFICATION_OPENED)) {
Log.i(logTag, "User clicked notification. Message: " + intent.getStringExtra(PushManager.EXTRA_ALERT));
String caseId = intent.getStringExtra("caseId");
Log.i(logTag, "CaseID is: " + caseId);
Intent launch = new Intent(Intent.ACTION_MAIN);
launch.setClass(UAirship.shared().getApplicationContext(), CaseDetailActivity.class);
launch.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
launch.putExtra("caseId", caseId);
UAirship.shared().getApplicationContext().startActivity(launch);
} else if (action.equals(PushManager.ACTION_REGISTRATION_FINISHED)) {
Log.i(logTag, "Registration complete. APID:" + intent.getStringExtra(PushManager.EXTRA_APID)
+ ". Valid: " + intent.getBooleanExtra(PushManager.EXTRA_REGISTRATION_VALID, false));
}
}
}
你熟悉android中的异步任务吗?它们专门用于在执行后在UI线程上显示结果是的,我知道这一部分。我只是想知道如何防止通知显示。您可以在异步任务的doInBackground中编写函数体,并在异步任务的onPostExecute的通知栏中显示结果。显示通知的代码就是我想要的。我正在使用UrbanAirship请检查上面的代码