The publish service name and type are passed to startServicePublish() as
char pointers. startServicePublish() calls runOnAndroidThread which asks
the java code to run registerService(). If name and type are objects on
the stack, they could get freed / deleted before the registerService() is
run in the java thread which would cause registerService() to use deleted
objects. Fix --> make permanent objects for name and type.