我可以在没有活动或接收器的情况下启动服务

Sea*_*ean 8 service android

我想开一个服务APK.

我尝试使用如下:

<application android:icon="@drawable/icon" android:label="@string/app_name">  
        <service android:name =".TestServcie">  
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  
                <category android:name="android.intent.category.LAUNCHER" />  
            </intent-filter>  
        </service>  
    </application>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?
谢谢

小智 30

您可以在收到Intent后编写BroadcastReceiver并运行服务.例如,在设备启动或您需要的其他Intent之后.

<receiver android:name=".StartupReceiver">
   <intent-filter>
     <action android:name="android.intent.action.BOOT_COMPLETED"/>
     <category android:name="android.intent.category.HOME"/>
   </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)


Squ*_*onk 11

不,你不能.

创建一个简单的Activity,它启动服务并简单地向用户提供一些反馈(例如告诉他们服务已经启动)并使用MAIN/LAUNCHER意图设置该Activity.

  • 有人删除了这个可怕而无益的答案,并把另一个放在首位. (4认同)
  • @Arijoon:请仔细阅读原始问题.使用他们发布的AndroidManifest,OP无法做到这一点.此外,正如我所说,OP想知道它是否可以"没有活动或接收器"完成.此外,如果你真的觉得我的回答是无益的,不正确的或垃圾邮件,那么可以随意向它投票和/或标记它以供主持人注意将其删除.我的答案出现在另一个上面的原因是因为OP接受了它 - 没有什么能阻止Stack Overflow用户向下滚动以查看其他答案 - 这就是Stack Overflow的工作方式. (2认同)