Aşağıdaki yöntem, Android cihazımda çalıştırılırken bir IOException sistemini sistematik olarak atar, oysa İnternet bağlantısı canlıdır (Android cihazımı kullanarak e-postaları alabilir veya gmail'e bağlayabilirim).IOException tarafından aktarılan AccountManagerFuture.getResults oysa bağlantı
Lütfen yardım edebilir misiniz?
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("[email protected]");
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);
}
Düzenleme:
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)
sevk kavanoz:
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
kontrol, bu benim Galaxy Nexus (4.0.4) üzerinde çalışıyor, ancak bazı garip karakteri var gibi belirteç türünüzde. Sadece bir kopyala yapıştır hatası olabilir, ancak dizeyi yeniden yazın ve yalnızca durumda olduğu ASCII olduğundan emin olun. –
Cevabınız için teşekkürler Nikolay, url'deki "oauth2:" bölümünü kaldırmaya çalıştım ve boş bir belirteç aldım. Lütfen belirteç tipindeki garip karakterleri detaylandırır mısınız? Ne demek istediğini anlamıyorum. Uyarılarla ilgili olarak şunu da elde ediyorum: "GoogleLoginService: status 200 ancak yanıt auth jetonunu içermedi". Herhangi bir fikir? – balteo
Bazen aşağıdaki uyarıyı da alıyorum: "Etkin olmayan InputConnection üzerinde IInputConnectionWrapper showStatusIcon" – balteo