@Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); Intent intent = getIntent(); Uri data = intent.getData(); if (data == null) { Log.e(ImApp.LOG_TAG, "Need account data to sign in"); // finish(); return; } ContentResolver cr = getContentResolver(); Cursor c = cr.query( data, ACCOUNT_SELECTION, null /* selection */, null /* selection args */, null /* sort order */); final long providerId; final long accountId; try { if (!c.moveToFirst()) { LogCleaner.warn(ImApp.LOG_TAG, "[SignoutActivity] No data for " + data); // finish(); return; } providerId = c.getLong(c.getColumnIndexOrThrow(Imps.Account.PROVIDER)); accountId = c.getLong(c.getColumnIndexOrThrow(Imps.Account._ID)); } finally { c.close(); } mApp = (ImApp) getApplication(); mApp.callWhenServiceConnected( mHandler, new Runnable() { public void run() { signOut(providerId, accountId); } }); }