0

「アカウントと同期」からGoogleアカウントを削除するにはどうすればよいですか? 私はこの行を私のアプリと呼ぼうとしています:

AccountManagerService.getSingleton().onServiceChanged(null,true);

一方、onServiceChanged() メソッドは AccountManagerService.java で定義されています。

public void onServiceChanged(AuthenticatorDescription desc, boolean removed) {
    boolean accountDeleted = false;
    SQLiteDatabase db = mOpenHelper.getWritableDatabase();
    Cursor cursor = db.query(TABLE_ACCOUNTS,
            new String[]{ACCOUNTS_ID, ACCOUNTS_TYPE, ACCOUNTS_NAME},
            ACCOUNTS_TYPE + "=?", new String[]{desc.type}, null, null, null);
    try {
        while (cursor.moveToNext()) {
            final long accountId = cursor.getLong(0);
            final String accountType = cursor.getString(1);
            final String accountName = cursor.getString(2);
            Log.d(TAG, "deleting account " + accountName + " because type "
                    + accountType + " no longer has a registered authenticator");
            db.delete(TABLE_ACCOUNTS, ACCOUNTS_ID + "=" + accountId, null);
            accountDeleted = true;
        }
    } finally {
        cursor.close();
        if (accountDeleted) {
            sendAccountsChangedBroadcast();
        }
    }

このコードは何もしていません。下位層で処理される例外がスローされているように感じます。

4

1 に答える 1

0

AccountManager.removeAccountを試してください。

于 2011-06-21T14:58:20.427 に答える