您的位置:首页 > 移动开发 > Android开发

Android的Activity接收putExtra传递的参数

2013-04-11 17:17 323 查看
一般情况方式如下打开Activity

Intent i = new Intent(this, ImgInfo.class);
i.putExtra("id", mPhotoId);
startActivity(i);


在Activity ImgInfo类的onCreate方法中写下如下的代码:

Bundle bud = getIntent().getExtras();
if (bud != null && bud.containsKey("id")) {
mPhotoId = bud.getInt("id");
}


如果有设置singleInstance模式

<activity android:name="ImgInfo" android:label="@string/app_name"
android:screenOrientation="portrait" android:launchMode="singleInstance">
</activity>


就会发现除了第一次能正确接收之外,其他的会无效。

只是需要做的是重写onNewIntent方法,基本代码如下:

@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
InitArg();
}
private InitArg(){
Bundle bud = getIntent().getExtras();
if (bud != null && bud.containsKey("id")) {
mPhotoId = bud.getInt("id");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐