为Launcher和第一个活动设置两个不同的标签

时间:2013-09-23 19:50:44

标签: android android-manifest

这应该是一个简单的解决方法。我的问题是我的启动器名称与我的第一个活动相同。 @ string / app_name是我希望它显示的实际应用程序名称,但它显示了我的第一个活动“草稿”为启动器。如果我取出@ string / activity_drafts,那么Launcher是正确的,但是第一个活动是我的app_name,这不是我正在寻找的行为。我只想要两个单独的名称用于启动器和第一个活动的标题,我不确定这里发生了什么。

的Manifest.xml

<application android:name="com.jordan.dictation.Dictation2Go"
    android:allowBackup="true"
    android:hardwareAccelerated="true"
    android:icon="@drawable/dp_launcher2"
    android:logo="@drawable/dp_white_logo"
    android:label="@string/app_name"
    android:theme="@style/MyTheme">
    <activity
        android:name="com.jordan.dictation.Draft_Activity"
        android:screenOrientation="portrait"
        android:label="@string/activity_drafts"
        >
            <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
    </activity>

2 个答案:

答案 0 :(得分:2)

我不知道如何在清单文件中执行此操作,但您可以在活动中以编程方式执行此操作:

setTitle("Activity title");

getActionBar().setTitle("Activity title");

编辑:GOT IT!

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"            
        android:theme="@style/AppTheme">
        <activity
            android:name="com.example.so1.MainActivity"
            android:label="ACTIVITY NAME"
            >
            <intent-filter android:label="APP NAME">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

注意:执行此操作可能会在设备重启时导致意外行为,例如使用未经修改的Samsung S3,主屏幕上的快捷方式将重命名为活动的标签。 (见https://stackoverflow.com/a/7250902

答案 1 :(得分:0)

使用了意图过滤器的图标和标签集 每当组件出现时代表一个组件 呈现给用户以实现所宣传的功能 通过过滤器。例如,一个过滤器 “android.intent.action.MAIN”和 “android.intent.category.LAUNCHER”设置 将活动宣传为发起活动的活动 应用程序 - 即应该显示的应用程序 应用程序启动器。图标和标签设置在 因此,过滤器是启动器中显示的过滤器。