gpt4 book ai didi

android - 如何在应用程序关闭时重新启动服务?

转载 作者:太空狗 更新时间:2023-10-29 14:10:56 26 4
gpt4 key购买 nike

我正在使用每 30 秒发送一次通知的服务。当我的应用程序处于后台模式时,它工作正常。每个通知都会正确接收。但是当我终止/关闭我的应用程序时,服务停止并且我没有收到任何通知。

有人知道在应用程序关闭或终止时如何运行该服务吗?

这是我的 list 文件`
``

<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="21" />

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<service
android:name=".MainService"
android:enabled="true"
android:exported="false"
>
</service>
<service android:name=".NewService" >
</service>

<activity
android:name=".MainActivity2"
android:label="@string/title_activity_main_activity2" >
</activity>
</application>

`

最佳答案

如果您希望在从最近的应用程序列表中杀死应用程序后继续您的服务,请在 list 中将 stopWithTask 设置为 false:

<service
android:enabled="true"
android:name=".MyService"
android:exported="false"
android:stopWithTask="false" />

并且您的服务应该具有粘性。

@Override
public final int onStartCommand(Intent intent, int flags, int startId) {
Log.i(TAG, "onStarCommand(): Received id " + startId + ": " + intent);
return START_STICKY; // run until explicitly stopped.
}

引用this询问所有细节。

如果你想在应用程序从最近列表中删除时执行一些额外的操作,你可以覆盖方法 onTaskRemoved

希望这对您有所帮助。

关于android - 如何在应用程序关闭时重新启动服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28474664/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com