android服务在应用程序被杀死时自动重启

时间:2013-08-21 14:52:16

标签: java android service

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

服务代码

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

等你帮忙。

由于

1 个答案:

答案 0 :(得分:6)

服务重新启动,因为您在START_STICKY

中返回onStartCommand()

您需要返回start_not_sticky

有关详情,请参阅:START_STICKY and START_NOT_STICKY