BroadcastReceiver 而不是 Activity

BroadcastReceiver instead of Activity

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

这是我试过的方法:

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

没用。应用程序安装,但启动器中没有图标。

如果不可能,有没有其他方法可以不显示 activity?目前我只有一个空的 activity 并从 onCreate() 调用 finish(),但它仍然会出现一瞬间,这看起来不太好。

一个 Receiver receives broadcasts only. Only an activity belongs in the launcher. Intents and filters 解释了其中的大部分内容。

要使一个不可见的 activity(在您快速完成 () 时不可见)使用此主题声明它:

@android:style/Theme.Translucent.NoTitleBar

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

android:noHistory="true"