NavUtils.getParentActivityIntent()throws“Activity没有指定父活动名称。”

时间:2013-11-18 19:09:00

标签: android navigation android-support-library

尝试提供导航时,尽管设置了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>

1 个答案:

答案 0 :(得分:5)

建议使用完全限定的组件名称来引用父活动。使用相对组件名称时,支持库会尝试使用包名称推断全名。

当包名称被覆盖时,这是一个问题。例如,我在build.gradle中覆盖了包名称,使用com.mobile.app.development作为development构建风格的包名称。

因此,推断的组件名称为com.mobile.app.development.app.MainActivity,而不是com.mobile.app.MainActivity,而不是{{1}}。