【发布时间】:2013-07-15 05:36:14
【问题描述】:
我正在通过 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";
【问题讨论】:
-
那么
MODE_EDIT_RECORDING必须为空。 -
请您也发布您的常量定义吗?
-
不知道为什么它会有所作为(它对我有影响)但尝试限定所有关键字符串,例如
START_MODE_TAG="com.my.package.StartMode"