我通過Intent傳遞一些值,在某些情況下,通過它傳遞的值返回null。該值在設置意圖之前不是null。以下是我設定意圖的代碼。通過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'必須爲空。 –
你可以發佈你的常數定義嗎? – Ridcully
不知道爲什麼它會有所作爲(它對我來說),但嘗試限定所有的關鍵字符串,例如'START_MODE_TAG =「com.my.package.StartMode」' –