public void onStart(Intent intent, int startId) { super.onStart(intent, startId); Log.d(PluginConstants.LOG_TAG, "Enter LiveViewService.onStart."); if (intent.getBooleanExtra(INTENT_EXTRA_ANNOUNCE, false)) { Bundle extras = intent.getExtras(); if (extras != null) { try { if (mLiveView != null) { mLiveView.sendAnnounce( mPluginId, mMenuIcon, extras.getString(INTENT_EXTRA_TITLE), extras.getString(INTENT_EXTRA_TEXT), System.currentTimeMillis(), ""); Log.d(PluginConstants.LOG_TAG, "Announce sent to LiveView Application"); } else { Log.d(PluginConstants.LOG_TAG, "LiveView Application not reachable"); } } catch (Exception e) { Log.e(PluginConstants.LOG_TAG, "Failed to send announce", e); } } } else { // We end up here when LiveView Application probes the plugin if (isAlreadyRunning()) { Log.d(PluginConstants.LOG_TAG, "Already started."); } else { // Init mPluginName = PluginUtils.getDynamicResourceString(this, PluginConstants.RESOURCE_STRING_PLUGIN_NAME); // Bind to LiveView connectToLiveView(); // Singleton alreadyRunning = true; } } }