导出的apk在安装时显示活动

时间:2012-11-22 22:50:08

标签: android

我已经将一个带有3个活动的应用程序(main,splash和另一个名为" about"的活动)导出到一个apk文件。它在仿真器上测试时工作正常。上传到Play商店然后下载到我自己的手机后,它在我的手机上安装正常。目前很好。但是,apk并没有显示打包 - 它显示了单独的活动,而不是像在模拟器中那样从启动屏幕开始。可能是什么问题呢?它导出没有错误。当我导出时,我给了apk一个与清单中的包名不同的名称。这会导致问题吗?这是清单:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.spinner"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="7"
    android:targetSdkVersion="15" />

<uses-permission android:name="android.permission.INTERNET" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar" >
    <activity
        android:name=".SplashActivity"
        android:label="@string/title_activity_splash" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".AboutActivity"
        android:label="@string/title_activity_about" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

谢谢你的期待。

1 个答案:

答案 0 :(得分:4)

此意图过滤器

   <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

告诉Android启动器应用在其启动器屏幕上显示与此过滤器附加的活动相关联的图标。当用户点击相应的图标时,启动器应用程序启动该活动并执行您的代码。您通常想要在您的应用程序中使用一个入口点,因此请编辑您的Manifest文件并确保只有一个Activity元素使用它。在您的情况下,我想将其留给SplashActivity并从其他人处删除。它应该是这样的:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.spinner"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="15" />

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar" >
        <activity
            android:name=".SplashActivity"
            android:label="@string/title_activity_splash" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
        </activity>
        <activity
            android:name=".AboutActivity"
            android:label="@string/title_activity_about" >
        </activity>
    </application>
</manifest>

我还会从android:label元素中删除<activity>(只需离开<application>