【问题标题】:How to Show App's Name in "Completing action using" menu?如何在“使用完成操作”菜单中显示应用程序的名称?
【发布时间】:2014-01-22 13:22:18
【问题描述】:

我尝试使用隐式意图打开我的 android 应用。它几乎可以工作,我的应用程序图标确实出现在“完成操作”菜单中。但是,与所有其他应用程序一样,不会显示真实的应用程序名称,而是显示在我的应用程序图标下方的名称是包名称,例如“com.example.xxx”,这对用户不太友好。我在哪里可以定义这个名字?

这是我在清单 xml 中使用的代码:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.testImplicitIntent.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.BROWSABLE" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="http" />
            <data android:host="*" />
            <data android:pathPattern=".*\\.txt" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.BROWSABLE" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="http" />
            <data android:host="*" />
            <data android:mimeType="application/txt" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="file" />
            <data android:host="*" />
            <data android:pathPattern=".*\\.txt" />
        </intent-filter>
    </activity>
</application>

【问题讨论】:

  • 它应该在您的&lt;activity&gt;&lt;application&gt; 上使用android:label 属性。
  • 你的app_name字符串是什么?
  • app_name 是 testImplicitIntent。有趣的是,当我尝试打开 http 资源时,它会显示我的 app_name,但是当我尝试打开本地文件时,它会显示包名
  • 我在三星 Galaxy S5 上遇到了同样的问题,但它适用于所有其他设备。您找到解决方法了吗?

标签: android android-intent android-implicit-intent


【解决方案1】:

你的@string@/app_name 有问题

在每个意图过滤器的意图过滤器中给出android标签

<activity
        android:name="com.example.testImplicitIntent.MainActivity"
        android:label="@string/app_name" >
        <intent-filter android:label="@string/app_name" >
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter android:label="@string/app_name" >
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.BROWSABLE" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="http" />
            <data android:host="*" />
            <data android:pathPattern=".*\\.txt" />
        </intent-filter>
        <intent-filter android:label="@string/app_name" >
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.BROWSABLE" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="http" />
            <data android:host="*" />
            <data android:mimeType="application/txt" />
        </intent-filter android:label="@string/app_name" >>
        <intent-filter android:label="@string/app_name" >
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="file" />
            <data android:host="*" />
            <data android:pathPattern=".*\\.txt" />
        </intent-filter>
    </activity>

【讨论】:

    猜你喜欢
    • 2019-10-15
    • 1970-01-01
    • 2013-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 2017-01-15
    相关资源
    最近更新 更多