BroadcastReceiver而不是Activity

时间:2017-02-28 02:57:14

标签: android broadcastreceiver android-manifest

我有一个没有任何活动的应用程序。它只是显示通知。是否可以将启动过滤器放在BroadcastReceiver而不是主要活动上?

以下是我尝试的内容:

<receiver android:name=".LaunchReceiver">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</receiver>

它不起作用。该应用已安装,但启动器中没有图标。

如果不可能,还有其他方法可以不显示活动吗?目前我只有一个空活动并从{{​​1}}拨打finish(),但它仍会显示一瞬间,看起来并不好。

1 个答案:

答案 0 :(得分:1)

Receiver仅接收广播。只有一个活动属于启动器。 Intents and filters解释了很多内容。

要制作一个不可见的活动(当你快速完成时看不到它()它)用这个主题声明它:

@android:style/Theme.Translucent.NoTitleBar

但如果你有一个不可见的活动,你最好还添加以下内容(以避免混淆用户):

android:noHistory="true"