我遇到过很多与此类似的问题,但我无法解决,即使我正在以正确的方式做到这一点。
我以这种方式发送字符串:
Intent intent = new Intent(this,MainActivity.class);
intent.putExtra("APP_PACKAGE_EXTRAS", "com.facebook.katana");
if (null != intent) {
startActivity(intent);
}
我用这种方式接收它:
Intent IntentExtras = getIntent();
String Package = IntentExtras.getExtras().getString("APP_PACKAGE_EXTRAS");
我正在接受NPE,为什么?
答案 0 :(得分:1)
使用
Intent intentExtras = getIntent();
String Package = intentExtras.getStringExtra("APP_PACKAGE_EXTRAS");
而不是
Intent IntentExtras = getIntent();
String Package = IntentExtras.getExtras().getString("APP_PACKAGE_EXTRAS");
答案 1 :(得分:0)
<强>发件人强>
Intent intent = new Intent(this,MainActivity.class);
intent.putExtra("APP_PACKAGE_EXTRAS", "com.facebook.katana");
startActivity(intent);
<强>接收机强>
String Package;
内部OnCreate
方法
Package=getIntent().getExtras().getString("APP_PACKAGE_EXTRAS");
在Receiver中编辑
if(intent.getExtras() == null) {
Log.e("null",null);
} else {
Package=getIntent().getExtras().getString("APP_PACKAGE_EXTRAS");
Log.e("Package", Package);
}
答案 2 :(得分:0)
在您的第一项活动中:
Intent i = new Intent(ActivityA.this, ActivityB.class);
i.putExtra("a", "b");
startActivity(i);
在你的第二项活动中:
String text = getIntent().getStringExtra("a");
答案 3 :(得分:0)
试试这个,
在Intent的扩展数据中设置值(这应该是用于额外数据名称的正确方法&#39; packagePrefix.dataName&#39;)
Intent intent = new Intent(context,Activity.class);
intent.putExtra("com.google.exampleapp.KeyName", value);
从Intent的扩展数据中检索值
Bundle extras = getIntent().getExtras();
if (extras != null)
{
messageCount = extras.getString("com.google.exampleapp.KeyName");
}