4

我正在通过 Intent 传递一些值,在某些情况下,通过它传递的值返回 null。在它设置意图之前,该值不为空。这是我设置意图的代码。

Intent propertyIntent = new Intent(mContext , SomeActivity.class);
propertyIntent.putExtra(START_MODE_TAG,MODE_EDIT_RECORDING);
propertyIntent.putExtra(ACTIVITY_MODE_TAG, "dm");
propertyIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
propertyIntent.putParcelableArrayListExtra("det_list", detList);
mContext.startActivity(propertyIntent);

这是用于获取意图值的代码

passedModeName = getIntent().getStringExtra(DMApplication.START_MODE_TAG);

只有START_MODE_TAG值返回 null 其余所有返回正确。我也试过设置onNewIntent()。但是没有用。

我在其中使用的常量

public static final String ACTIVITY_MODE_TAG="activity_mode";
public static final String START_MODE_TAG="StartMode";
public static final String MODE_NEW_RECORDING="new";
public static final String MODE_EDIT_RECORDING="edit";
public static final String MODE_REVIEW_RECORDING="review";
public static final String MODE_COPY_RECORDING="copy";
public static final String MODE_LAUNCH_RECORDING="launch";
4

2 回答 2

0

检查键 *DMApplication.START_MODE_TAG* 是否与 *START_MODE_TAG* 相同并且 MODE_EDIT_RECORDING 不为空。

于 2013-07-15T06:46:54.053 回答
0

您应该通过以下方式获取额外数据。

Bundle extras = getIntent().getExtras();
selectedGroupId = extras.getString(DMApplication.START_MODE_TAG);
于 2013-07-15T05:47:04.033 回答