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;
      }
    }
  }