属性`parentActivityName`仅用于API级别16及更高级别(当前最小值为15)

时间:2017-08-12 23:32:06

标签: java android android-manifest

我的程序在Android Studio中给出了以下错误。

00:28运行app时出错:找不到默认活动

我认为问题出在AndroidManifest.xml

`     

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".DisplayMessageActivity"
            android:parentActivityName=".MainActivity">
        </activity>
    </application>
</manifest>

` 有人可以帮帮我吗?

3 个答案:

答案 0 :(得分:1)

  

找不到默认活动

您的应用程序没有<activity>将由主屏幕启动。这需要具有适当的<intent-filter>,例如:

<activity android:name="MainActivity">
    <!-- This activity is the main entry, should appear in app launcher -->
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

此外:

  • 属性parentActivityName仅用于API级别16及更高级别(当前最小值为15)just means that your android:parentActivityName`属性不会对您支持的某些设备产生影响< / p>

  • 但是,android:parentActivityName指向您的清单中不存在的活动(MainActivity

答案 1 :(得分:1)

更正

  

android:parentActivityName是在API 16中引入的

错误,您应该为具有父项的活动添加以下代码段:

<meta-data
    android:name="android.support.PARENT_ACTIVITY"
    android:value="com.myapp.ui.MainActivity" />

这是我的一个应用程序中的一个示例:

<activity
        android:name="com.souf.prayTime.ui.AboutActivity"
        android:label="@string/about"
        android:parentActivityName="com.souf.prayTime.ui.MainActivity">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.souf.prayTime.ui.MainActivity" />
    </activity>

希望这会有所帮助;)

答案 2 :(得分:0)

解决此问题的最简单方法是将最低API级别提高到16,以使其符合“ parentActivityName”的要求

要执行此操作,请进入构建gradle。 寻找minSdkVersion并将其更改为16。

它位于android {defaultConfig {}}

的顶部

事后重新同步Gradle