Android -发送用户到Activity的GCM推送通知不会导致onCreate调用



我能够创建推送通知,并将用户发送到我想要的任何活动,但我注意到,每当用户登陆该活动时,onCreate函数不会被调用。

应该是这样吗?我如何设置它,使活动的onCreate被调用?

这是我的活动:

public class QuestionActivity extends BaseListActivity 
{
    @Override
    public void onCreate(Bundle savedInstanceState) 

,下面是如何生成通知的:

    Intent notificationIntent = new Intent(context, MainActivity.class);
    if ( notification_type != null && notification_type.equals("question"))
    {
        notificationIntent = new Intent(context, QuestionActivity.class);
    }
    else
    if ( notification_type != null && notification_type.equals("plan"))
    {
        notificationIntent = new Intent(context, TopicActivity.class);              
    }
    // set intent so it does not start a new activity
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
    PendingIntent intent = PendingIntent.getActivity(context, 0, notificationIntent, 0);        
    Uri defaultSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);            
    Notification notification = new NotificationCompat.Builder(context)
     .setContentTitle(title)
     .setContentText(message)
     .setContentIntent(intent)
     .setSmallIcon(icon)
     .setLights(Color.YELLOW, 1, 2)
     .setAutoCancel(true)
     .setSound(defaultSound)
     .build();
    notificationManager.notify(0, notification);

谢谢!

您正在使用Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP的标志意味着,如果活动已经在当前任务中运行,那么将使用旧的现有活动而不是启动该活动的新实例。在这种情况下,onCreate不会被调用,因为该活动已经存在。

相关内容

  • 没有找到相关文章

最新更新