当试图提供向上导航时,尽管已经设置了parentActivityName和在旧平台中支持向上导航的元标记,但支持库会抛出错误"Activity SecondaryActivity does not have a parent activity name specified."
。
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name">
<activity
android:name=".app.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".app.SecondaryActivity"
android:parentActivityName=".app.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".app.MainActivity" />
</activity>
</application>
</manifest>
建议使用完全限定的组件名称来引用父活动。当使用相对组件名称时,支持库会尝试使用包名称推断全名。
当包名称被覆盖时,这是一个问题。例如,我覆盖了build.gradle
中的包名称,使用com.mobile.app.development
作为development
构建风格的包名称。
因此,推断出的组件名称是不存在的com.mobile.app.development.app.MainActivity
,而不是com.mobile.app.MainActivity
。