调用代码(在服务中运行):
TextActivity
被叫代码(在@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
Log.d(TAG, "" + bundle.getInt("text_seq"))
...
中):
bundle.getInt()
实际上整个包都丢失了 - 上面的代码在调用where
时会抛出一个NPE。
我确定我错过了一些明显的东西......
答案 0 :(得分:5)
您正在阅读的捆绑不是为了这个目的。作为per docs
void onCreate (Bundle savedInstanceState)
Bundle:如果之前正在重新初始化活动 关闭然后这个Bundle包含它最近提供的数据 在onSaveInstanceState(Bundle)中。注意:否则为空。
如果你需要额外的东西,你需要打电话:
Bundle extras = getIntent().getExtra();
然后你可以尝试获取你的价值观:
int myVal = extras.getInt(key);
或者您可以尝试使用:
int myVal = getIntent().getIntExtra(key, defaultVal);
答案 1 :(得分:0)
您是否尝试过使用getIntent().getInt("text_seq")
?
答案 2 :(得分:0)
像这样获取你的包
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
Bundle intentBundle = getIntent().getExtra();
Log.d(TAG, "" + intentBundle.getExtra(“text_seq"))
}
答案 3 :(得分:0)
您正在使用的套件是savedInstanceState
,您可以阅读更多相关信息here。
您需要使用的是:
Bundle intentBundle = getIntent().getExtra();
由于您已将该捆绑包添加到Intent
个附加内容,因此您需要从getIntent().getExtra()
你也可以得到这样的单品:
getIntent().getIntExtra("text_seq", defaultValToReturn);