2012-12-21 38 views
1

我有一个通知栏,当我点击它时,用相同的数据(一个字符串数组)开始一个新的活动。我有一个问题,从onReceive.class传递数据到新的活动(通知)。当我点击我看到新的活动,但与nullPointerE崩溃。将数据从onReceive传递到新的活动

NOT1 [X]是串的阵列

我的代码

AlarmReceiver:

Intent notificationIntent = new Intent("com.example.myapp", null, context, Notify.class); 
     notificationIntent.putExtra("notify", not1[x]); 
     PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0); 

通知:

Bundle b = getIntent().getExtras(); 
     if (b != null) { 
      Intent intent = getIntent(); 
      String[] notify2 = b.getStringArray("notify"); 

      textView1.setText("notify2"); 

回答

1
尝试

String[] getArray=getIntent().getStringArrayExtra("notify"); 

在之间not1 [x]是一个字符串不是数组。

private NotificationManager mNotificationManager; 
    private int SIMPLE_NOTFICATION_ID; 

mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); 
    notifyDetails = new Notification(R.drawable.somepngfile,"some text",System.currentTimeMillis()); 


     Context context = getApplicationContext(); 
     CharSequence contentTitle = "title"; 
     CharSequence contentText = "ontent"; 
     Intent notifyIntent = new Intent(thisclass.this,nextclass.class); 

     notifyIntent.putExtra("Value", finalresponse[1]+","+finalresponse[2]+","+finalresponse[3]); 



     PendingIntent intent = 
      PendingIntent.getActivity(BackService.this, 0, 
      notifyIntent, android.content.Intent.FLAG_ACTIVITY_NEW_TASK); 

     notifyDetails.setLatestEventInfo(context, contentTitle, contentText, intent); 
     notifyDetails.defaults|= Notification.DEFAULT_SOUND; 
     notifyDetails.defaults|= Notification.DEFAULT_LIGHTS; 
     notifyDetails.defaults|= Notification.DEFAULT_VIBRATE; 
     notifyDetails.defaults|= Notification.FLAG_AUTO_CANCEL; 
     notifyDetails.flags |= Notification.FLAG_AUTO_CANCEL | Notification.FLAG_SHOW_LIGHTS; 
     mNotificationManager.notify(SIMPLE_NOTFICATION_ID, notifyDetails); 

在下一堂课

Intent i = getIntent(); 
     i.getStringExtra("Value"); 

     String[] response=i.getStringExtra("Value").split(","); 
+0

同样的问题,同样的崩溃。 –

+0

让我为你制作整个程序 – mjosh

0

这是not1[x]一个字符串数组?它看起来像一个String Array的元素,它实际上是一个String。

0

只需在AlarmReceiver类中替换下面的代码即可。其作品对我来说...

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

如果我们用0而不是PendingIntent.FLAG_UPDATE_CURRENT标志,在接收方即getIntent()。getExtras()不是动态更新的数据,分配1日传递的数据每时间....

相关问题