9

次のメソッドは、インターネット接続が有効なときに Android デバイスで呼び出すと、体系的に IOException をスローします (Android デバイスを使用して電子メールを取得したり、gmail に接続したりできます)。

誰でも助けてもらえますか?

private void performAuthentication() {
    Log.d("GAWidget", "performAuthentication");
    GoogleCredential credential = new GoogleCredential();
    GoogleAccountManager accountManager = new GoogleAccountManager(this);
    Log.d("GAWidget", "after getting accountManager");
    Account account = accountManager.getAccountByName("balteo@gmail.com");
    Log.d("GAWidget", "after getting account"+"account.name: "+account.name);
    accountManager.getAccountManager().getAuthToken(account, "oauth2:https://www.googleapis.com/auth/‌​analytics.readonly",
            true, new AccountManagerCallback<Bundle>() {

                public void run(AccountManagerFuture<Bundle> future) {
                    try {
                        String token = future.getResult(15, TimeUnit.SECONDS).getString(AccountManager.KEY_AUTHTOKEN);
                        Log.d("GAWidget", "token: "+token);
                        useToken(token);
                    } catch (OperationCanceledException e) {
                        Log.e("GAWidget", "OperationCanceledException", e);
                    } catch (AuthenticatorException e) {
                        Log.e("GAWidget", "AuthenticatorException", e);
                    } catch (IOException e) {
                        Log.e("GAWidget", "IOException", e);
                    }
                }

            }, null);
}

編集:スタックトレースは次のとおりです。

05-27 19:09:04.319: E/GAWidget(12487): IOException
05-27 19:09:04.319: E/GAWidget(12487): java.io.IOException
05-27 19:09:04.319: E/GAWidget(12487):  at android.accounts.AccountManager.convertErrorToException(AccountManager.java:1440)
05-27 19:09:04.319: E/GAWidget(12487):  at android.accounts.AccountManager.access$400(AccountManager.java:138)
05-27 19:09:04.319: E/GAWidget(12487):  at android.accounts.AccountManager$AmsTask$Response.onError(AccountManager.java:1301)
05-27 19:09:04.319: E/GAWidget(12487):  at android.accounts.IAccountManagerResponse$Stub.onTransact(IAccountManagerResponse.java:69)
05-27 19:09:04.319: E/GAWidget(12487):  at android.os.Binder.execTransact(Binder.java:320)
05-27 19:09:04.319: E/GAWidget(12487):  at dalvik.system.NativeStart.run(Native Method)

出荷された瓶:

google-http-client-1.9.0-beta.jar
google-http-client-android2-1.9.0-beta.jar (only for SDK >= 2.1)
google-http-client-android3-1.9.0-beta.jar (only for SDK >= 3.0)
gson-2.1.jar
guava-11.0.1.jar
jackson-core-asl-1.9.4.jar
jsr305-1.3.9.jar
protobuf-java-2.2.0.jar 
4

1 に答える 1