在app chooser对话框中显示应用名称

时间:2014-10-22 15:14:07

标签: android

我的应用程序(例如,名为“Awesome app”)拦截了http链接(例如,它是指向Googlemap位置的链接)。该链接在一个名为“View Activity”的活动中处理,它不是主启动器。当用户点击其电子邮件中的该链接时,我的应用会在app-chooser对话框中与Googlemap一起显示。但是,它显示为“查看活动”而不是“真棒应用程序”。

我不想将活动的android:label属性更改为“Awesome app”,因为它不应该以这种方式命名。 那么,在这种情况下如何显示应用名称?感谢。

修改 我尝试按照zmarties的建议添加<activity-alias>,如下所示,但是,我的应用不再列在应用选择器对话框中,任何想法? TKS。

<activity-alias android:name=".Blahblah"
        android:enabled="true"
        android:exported="false"
        android:icon="@drawable/ic_launcher"
        android:label="@string/config_app_name"

        android:targetActivity="com.mypackage.activity.ViewingActivity" >
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data
                android:host="thehost.com"
                android:scheme="http" />
            <data
                android:host="thehost.com"
                android:scheme="https" />

        </intent-filter>

    </activity-alias>

1 个答案:

答案 0 :(得分:3)

您可以通过更改标签来更改显示的文本。您不想更改标签的事实并未改变这样做的正确方法。

如果你的问题是拦截链接,那么同样的活动还有其他需要显示不同标签的用途,那么你需要将所有这些用途分成他们自己的活动,这样他们就可以有自己的特定标签。这些单独的活动实际上可以是相同的活动 - 请参阅activity-alias