使用支持版本的NavUtils(import android.support.v4.app.NavUtils),在調用NavUtils.getParentActivityIntent()時,api 16+覆蓋getParentActivityIntent()方法會正確觸發。但是,在api 15及以下版本中,既不支持也不支持標準方法:Android NavUtils沒有觸發getSupportParentActivityIntent api 15
public void onUp() {
Intent parentIntent = NavUtils.getParentActivityIntent(this);
...
}
@Override
public Intent getParentActivityIntent() {
//fires in api 16+
return super.getParentActivityIntent();
}
@Override
public Intent getSupportParentActivityIntent() {
// never fires
return super.getSupportParentActivityIntent();
}
此處有任何建議嗎?
因此,如果沒有在清單中聲明父活動,那麼'NavUtils.navigateUpTo(activity,upIntent);'預計不會工作? – mdelolmo
@mdelolmo - 我不確定你的意思。 'upIntent'是從清單條目創建的 - 如果你提供了自己的'upIntent',那麼清單條目根本就不涉及。 – ianhanniballake
讓我詳細說明一下: 如果我的活動沒有以任何方式在清單中聲明'PARENT_ACTIVITY'''元素,而是重寫'getParentActivityIntent()'和'getSupportParentActivityIntent()'來提供父活動意圖。將'NavUtils.navigateUpTo(activity,upIntent);'返回父目標? 根據[文檔](http://developer.android.com/reference/android/support/v4/app/NavUtils.html),不一定。 我只是好奇,因爲我最終直接使用'onSupportNavigateUp()'。 –
mdelolmo