我通过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 rest all正确返回。我也试过设置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";
答案 0 :(得分:0)
您应该按以下方式获取额外数据。
Bundle extras = getIntent().getExtras();
selectedGroupId = extras.getString(DMApplication.START_MODE_TAG);
答案 1 :(得分:0)
检查键* DMApplication.START_MODE_TAG *是否与* START_MODE_TAG *相同且MODE_EDIT_RECORDING不为空。