2015-09-06 42 views
0

我有一个非常奇怪的问题。 我知道如何使用PutExtra/getExtras将数据从意图传递到另一个意图。 当我想要获得在两个intents之间传递的数据时,它会得到NullPointerException。 我试图通过传递一个包来实现,发生同样的问题。 所以我试图把它传递给另一个活动,它通过了! 为什么第一个活动无法检索通过的数据?!无法从特定活动中获取额外信息

+2

你能发表一些代码吗?这有很多可能的原因 – Jim

+0

使用Intent/Bundle从这两个活动中发送/获取数据的相关部分显示 –

+0

您能否提供一些代码? – MrWasdennnoch

回答

0

例子:

ActivityA:

Intent i = new Intent(this, ActivityB.class); 
i.putExtra("identifier", "some text"); 
startActivity(i); 

ActivityB:

Intent intent = getIntent(); 
String string = intent.getStringExtra("identifier"); //String because your extra is a String value 

你有没有做过这样的吗?

0

这就是我所做的。

从IntentServiceClass:

NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); 

    Intent intent = new Intent(context, class1); 
    intent.putExtra("test", "test"); 
    PendingIntent pendingIntent = PendingIntent.getActivity (context, 0, intent, 0); 

从活动课:

String test = getIntent().getExtras().getString("test"); 

它会导致空指针异常

试验多次后,我创建了一个新的活动和复制/粘贴相同的代码,它的工作! 所以我问,为什么它没有与第一类工作?