0

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

我们有三个活动:1 - 2 - 3。第一个是主要活动 (1),它的名称是 Noow,但我对另一个活动 (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>
4

2 回答 2

0

发生这种情况是因为 SDK 将使用具有 LAUNCHER 属性的活动名称:

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

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

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

于 2013-05-10T10:20:33.400 回答
0

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

活动与

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

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

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

于 2013-05-10T10:22:29.193 回答