title: bindService with aidl return false
body: <p>I would like to provide a service that can be called by other app. Therefore, I have a service and an aidl. But when I try to have a separate application to bind this service (bindService), it just returns me false which means fail. Here is my code.</p>
  
  <p>PS: context is already the ApplicationContext which obtained by calling getApplicationContext()</p>
  
  <p><strong>Code that try to bind the service</strong>  </p>
  
  <pre><code>  private static ServiceConnection connection = new ServiceConnection() {
          @Override
          public void onServiceConnected(ComponentName name, IBinder service) {
              sService = XXXService.Stub.asInterface(service);
          }
  
          @Override
          public void onServiceDisconnected(ComponentName name) {
              sService = null;
          }
      };
  
      private static synchronized XXXService getService(final Context context) {
          if (sService != null) {
              return sService;
          } else {
              intent.setClassName(context.getPackageName(), "com.xxx.someservice");
              if (context.bindService(intent, connection, Context.BIND_AUTO_CREATE)) {
                  Log.i(TAG, "can bind");
              } else {
                  Log.i(TAG, "can not bind");
              }
              return sService;
          }
      }
  </code></pre>
  
  <p><strong>AndroidManifest</strong></p>
  
  <pre><code>    &lt;service android:name="com.xxx.someservice"
          android:process=":main"
          android:exported="true"/&gt;
  </code></pre>