title: Android downstream message from GCM "no empty constructor" error
body: <p>I am sending a downstream message to Android app from php script. But the receiving Android app crushes and I get "Caused by: java.lang.InstantiationException: can't instantiate class mypackage.myactivity$MyGcmListenerService; no empty constructor" on the logcat. I have an empty constructor though. This is the receiver service:</p>
  
  <pre><code>public class MyGcmListenerService extends GcmListenerService {
          public static final String UPDATE_COORDINATES = "mypackage.newcoordinate";
          LocalBroadcastManager coordintesupdater;
  
          public MyGcmListenerService() { super(); }
  
          @Override
          public void onMessageSent(String msgId) {
              Log.i("the damn message " + msgId, "sent");
              super.onMessageSent(msgId);
          }
  
          @Override
          public void onDeletedMessages() {
              super.onDeletedMessages();
          }
  
          @Override
          public void onSendError(String msgId, String error) {
              super.onSendError(msgId, error);
          }
  
          @Override
          public void onMessageReceived(String from, Bundle data) {
  
              String message = data.getString("lat") + ", " + data.getString("lon");
  
              if (message != null &amp;&amp; !message.isEmpty()) {
                  Intent mIntent = new Intent();
                  mIntent.putExtra(UPDATE_COORDINATES, message);
                  mIntent.setAction(UPDATE_COORDINATES); //should match the receiver intent filter at the registering
                  coordintesupdater.sendBroadcast(mIntent);
              } else {
                  Log.i("Received", "empty message");
              }
          }
      }
  </code></pre>
  
  <p>And this is my manifest where the service is declared explicitly</p>
  
  <pre><code>&lt;service
              android:name=".myactivity$MyGcmListenerService"
              android:exported="false" &gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="com.google.android.c2dm.intent.RECEIVE" /&gt;
              &lt;/intent-filter&gt;
          &lt;/service&gt;
  </code></pre>
  
  <p>I have been researching this the whole evening for hours but I couldn't resolve it. I think the exception is simply broad only to indicate there is a problem, but fails to specify. Can someone point me to the problem?</p>