【发布时间】:2016-08-20 14:23:12
【问题描述】:
我想创建一个具有透明背景的活动,我可以通过单击通知来启动它。
我毫无问题地创建了通知和活动,但现在,我想独立打开这个特定的 TransparentActivity,即不在后台显示其他活动。
我试图在意图上加上一些标志:
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
在 AndroidManifest 文件中,在我的 TransparentActivity 标签上,我放了:
<activity
android:name=".TransparentActivity"
android:launchMode="singleTask"
android:theme="@style/Theme.Transparent">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
它按预期工作,但现在我的应用有两个图标,这是我不想要的。
有没有办法让它工作?
【问题讨论】:
-
地址:
Intent.FLAG_ACTIVITY_CLEAR_TASK -
它没有用。除了添加这个新标志之外,我还应该做其他事情吗?
-
为了了解你的情况,你能贴出两个图标的截图吗?
-
我现在没有屏幕截图(我可以稍后发送),但在安装应用程序时,Android 会使用意图过滤器“LAUNCHER”为每个活动创建一个图标。
-
您应该为您的
TransparentActivity删除<intent-filter>。你不需要那个。 Android 为每个<intent-filter>的Activity创建一个应用程序图标,其中 ACTION=MAIN 和 CATEGORY=LAUNCHER。
标签: android android-intent android-activity android-pendingintent start-activity