我正在通过Intent传递一些值,在某些情况下,通过它传递的值返回null。该值在设置到意图上之前不为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";
MODE_EDIT_RECORDING
必须为空。 - NareshSTART_MODE_TAG="com.my.package.StartMode"
。 - David O'Meara