@ProfileUser private void handleIntent(final Intent intent) {
		final Bundle extras = intent.getExtras();
		if (extras == null) return;
		final IServiceConnection remote_connection = IServiceConnection.Stub.asInterface(extras.getBinder(ServiceShuttle.EXTRA_SERVICE_CONNECTION));
		if (remote_connection == null) return;

		if (ServiceShuttle.ACTION_BIND_SERVICE.equals(intent.getAction())) {
			final Intent service_intent = intent.getParcelableExtra(ServiceShuttle.EXTRA_INTENT);
			if (service_intent == null) return;
			final Context binding_context = getApplicationContext();	// Application context for longer lifespan
			final DelegateServiceConnection connection = new DelegateServiceConnection(binding_context, service_intent, remote_connection);
			Log.d(TAG, "Bind " + remote_connection + " to " + intent);
			final int flags = intent.getIntExtra(ServiceShuttle.EXTRA_FLAGS, 0);
			@SuppressWarnings("WrongConstant") final boolean result = binding_context.bindService(service_intent, connection, flags);
			if (! result) try { remote_connection.onServiceFailed(); } catch (final RemoteException ignored) {}
		}
	}
Proxy activity to implement {@link ServiceShuttle}.

Created by Oasis on 2016/8/21.
engine/src/main/java/com/oasisfeng/island/shuttle/ServiceShuttleActivity.java