1
서비스를 사용하는 Google Glass에서 간단한 hello world 응용 프로그램을 개발 중입니다. 내 응용 프로그램에서는 TimelineManager를 사용하여 LiveCard을 표시했습니다. 앱이 사용자에게 표시 될 때 http 호출을 호출하려고합니다 (사용자가 다른 앱에서 우리 앱으로 스크롤했을 때를 의미합니다).Google Glass TimelineManager LiveCard를 사용하는 방법
Activity를 사용하면 자동으로 onResume()이 호출되지만 서비스에서 처리하고 있음을 알고 있습니다.
사용자에게으로 앱을 다시 시작할 때 어떤 방법이 호출되는지 알려주세요.
public class MyGlassService extends Service {
private static final String TAG = "SocketService";
private static final String LIVE_CARD_ID = "livecard";
private TimelineManager mTimelineManager;
private LiveCard mLiveCard;
private TextToSpeech mSpeech;
private final IBinder mBinder = new MainBinder();
private TextView txtName, txtBalance;
private RemoteViews remoteView;
private WakeLock screenLock;
public class MainBinder extends Binder {
public void sayMessage() {
mSpeech.speak(getString(R.string.hello_world),
TextToSpeech.QUEUE_FLUSH, null);
}
}
@Override
public void onCreate() {
super.onCreate();
mTimelineManager = TimelineManager.from(this);
mSpeech = new TextToSpeech(this, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
// do nothing
}
});
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
remoteView = new RemoteViews(this.getPackageName(), R.layout.activity_main);
if (mLiveCard == null) {
mLiveCard = mTimelineManager.createLiveCard(LIVE_CARD_ID);
remoteView.setTextViewText(R.id.name, getString(R.string.pre_screen_msg));
mLiveCard.setViews(remoteView);
}
return START_STICKY;
}
@Override
public void onDestroy() {
if (mLiveCard != null && mLiveCard.isPublished()) {
mLiveCard.unpublish();
mLiveCard = null;
}
mSpeech.shutdown();
mSpeech = null;
super.onDestroy();
}
@Override
public IBinder onBind(Intent intent) {
return mBinder;
}
public String toHexString(byte[] data) {
String s = new String(data);
return s;
}
}