各种活动,各种意图,在名称应用程序失败

时间:2013-05-10 10:13:51

标签: android android-intent title

我有一些意图来执行不同的活动,我的问题是当我在设备中运行应用程序时,eclipse会使用上一个活动的名称安装它。例如:

我们有三个活动:1 - 2 - 3.第一个是主要活动(1),它的名字是Noow但我有一个Intent到另一个活动(3)来获取位置并将数据返回给( 1)。安装的应用程序名为getLocation(3),其名称必须为(1)。

这是最明显的xml文件。有人可以帮我吗?感谢

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="victor.martin.noow"
    android:versionCode="1"
    android:versionName="1.0" >

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

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="victor.martin.noow.SplashScreen"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="victor.martin.noow.LoginScreen"
            android:label="@string/title_activity_login_screen" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="victor.martin.noow.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="victor.martin.noow.getLocationActivity"
            android:label="@string/getLocationActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

2 个答案:

答案 0 :(得分:0)

这是因为SDK将使用具有LAUNCHER属性的活动的名称:

            <action android:name="android.intent.action.MAIN" />

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

最简单的解决方案是删除LoginScreenActivity标签并以编程方式设置它。在这种情况下,将使用标签中提供的标签。

答案 1 :(得分:0)

首先,必须将一个活动设置为主要活动,即启动器活动。你所做的是将所有活动设置为main,这在编程逻辑的所有方面都是不正确的。

的活动
<intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

获取默认名称,按照惯例,在您阅读xml后,最后一个活动获得了默认名称。