【发布时间】: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>
【问题讨论】:
-
它应该在您的
<activity>或<application>上使用android:label属性。 -
你的
app_name字符串是什么? -
app_name 是 testImplicitIntent。有趣的是,当我尝试打开 http 资源时,它会显示我的 app_name,但是当我尝试打开本地文件时,它会显示包名
-
我在三星 Galaxy S5 上遇到了同样的问题,但它适用于所有其他设备。您找到解决方法了吗?
标签: android android-intent android-implicit-intent