清除最近的任务时防止服务中断

时间:2014-05-17 22:48:48

标签: java android service

我的应用程序具有绑定到活动的远程,前台援助服务。当我清除最近的任务(通过轻扫)服务销毁。我怎样才能防止服务中断。

  <service android:enabled="true"
                 android:exported="false"
                 android:stopWithTask="false"
                 android:process=":xplay"
                android:name="com.perm.x.Services.PlayingService"/>

这是我如何绑定(在onResume中)

 Intent serviceIntent = new Intent(this,PlayingService.class);
        startService(serviceIntent);
        bindService(serviceIntent, serviceConnection, Context.BIND_AUTO_CREATE);

以下是我如何取消绑定服务(在onPause中)

unbindService(serviceConnection);

1 个答案:

答案 0 :(得分:2)

为了防止服务被杀,我发现了一个黑客(实际上我确实在这里读过它)

    @Override
    public void onTaskRemoved(Intent rootIntent) {
            Intent intent = new Intent(this, DummyActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);
    }

DummyActivity:

public class DummyActivity extends Activity {
    @Override
    public void onCreate(Bundle icicle){
        super.onCreate(icicle);
        finish();
    }
}

就是这样。但是这种黑客的副作用 - 在您轻扫应用程序

之后,将立即隐藏具有最新功能的面板