【问题标题】:Various activities, various intents, failed at name app各种活动,各种意图,在名称应用程序中失败
【发布时间】:2013-05-11 17:43:45
【问题描述】:

我有一些执行不同活动的意图,我的问题是当我在设备中运行应用程序时,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>

【问题讨论】:

  • 兄弟你在所有活动中都有 lanucher 类别,只有 1 是 laucnher 活动,其余应该是其他类别,或者根本没有类别。

标签: android android-intent title


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 谢谢,我会删除它并检查结果。我认为我需要声明我使用的所有意图。
    猜你喜欢
    • 1970-01-01
    • 2021-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    相关资源
    最近更新 更多