5

我正在开发一个通过接收器与我的服务通信的应用程序。

服务代码

    @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:process 但没有任何变化。

等你帮忙。

谢谢

4

1 回答 1

8

START_STICKY服务会自行重启,因为您要返回onStartCommand()

您需要返回start_not_sticky

有关更多信息,请阅读以下内容:START_STICKY 和 START_NOT_STICKY

于 2013-08-21T14:56:11.953 回答