我正在开发一个应用程序,它通过接收器与我的服务进行通信。
服务代码
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(LOCATION_UPDATE);
mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
receiverWorks(intent);
}
};
this.registerReceiver(mBroadcastReceiver, intentFilter);
return START_STICKY;
}
服务的舱单申报
<service
android:name="com.test.IService"
android:enabled="true"
android:label="IService"
android:process=":iservice" >
</service>
问题是,它在应用程序(我的使用此服务的应用程序)被终止后重新启动。我该如何防止这种情况发生?尝试删除android:进程,但没有任何更改。
正在等待您的帮助。
感谢
由于您在onStartCommand()
中返回START_STICKY
,服务会自行重新启动
您需要返回start_not_sticky
。
有关更多信息,请阅读以下内容:START_STICKY和START_NOT_STICKY