2012-02-15 41 views
0

我有一个通知,当通过上述通知开启活动时,应该给我一些参数。Android:通知包未开通

private void notify_newOrders(int count) { 
    int icon = R.drawable.ic_notification; 

    String ns = Context.NOTIFICATION_SERVICE; 
    NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns); 

    CharSequence tickerText = infotext; 
    long when = System.currentTimeMillis(); 

    Notification notification = new Notification(icon, tickerText, when); 
    Context context = getApplicationContext(); 
    CharSequence contentTitle = "Title"; 
    CharSequence contentText = "Infotext"; 

    Intent notificationIntent = new Intent(this, TestActivity.class);  
    notificationIntent.putExtra("resuming", "123"); 
    notificationIntent.setAction("resuming"); 

    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 

    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); 

    notification.flags |= Notification.DEFAULT_ALL; 
    notification.flags |= Notification.FLAG_AUTO_CANCEL;   

    notification.number = count; 

    notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); 

    mNotificationManager.notify(WORKNOTIFICATION_ID, notification);   

} 

在我的活动我有以下几点:

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    try{ 
     super.onCreate(savedInstanceState);   

     setContentView(R.layout.main); 
     Bundle extras = getIntent().getExtras(); 

     if(extras != null) 
     { 
      Log.d("YAY","got extras"); 
     } 

的问题是,我从来没有得到任何附加功能。我经历了类似的(解决的)问题,试图找出他们为什么工作,而我的工作并没有被证明是无用的。帮帮我!

在logcat中我得到这些,不知道他们是否是相关的:

INFO/ActivityManager(59): Starting activity: Intent { act=resuming flg=0x24000000 cmp=com.test.test/.TestActivity bnds=[0,101][320,165] (has extras) } 
WARN/ActivityManager(59): startActivity called from non-Activity context; forcing Intent.FLAG_ACTIVITY_NEW_TASK for: Intent { act=resuming flg=0x24000000 cmp=com.test.test/.TestActivity bnds=[0,101][320,165] (has extras) } 

回答

2

打开出正确的事情是让

@Override 
public void onNewIntent(Intent intent) 
0

它看起来像没有创建您的活动,而是恢复。将你的getExtras代码从onCreate()移动到onResume()这应该工作。

+0

试过,以及其他在onStart等,没有任何帮助。 – vampireLady 2012-02-15 17:35:51