一日の始まりから答えを探していますが、まだどうしたらいいのかわかりません!問題を説明するには:私のアプリケーションはGTasksAPIを使用しています。これを行うには、ユーザーはGoogleアカウントを持っている必要があります。それを確認する方法は2つあります。
- アカウントマネージャーをインスタンス化し、そのようなアカウントがない場合は「com.google」アカウントを探します
- ユーザーがGoogleにログオンし、APIの使用を受け入れるWebビューを起動します。
次に、アプリケーションをGTaskと同期する必要があります。Webビューから抽出した情報から、AccountManagerを使用して「com.google」アカウントを作成しようとしましたが、常に「発信者UIDが異なります...」というエラーが発生します。「accountType」はXMLファイルとアプリで同じである必要があるため、問題は「account-authenticator」から発生するはずですが、別のアカウントタイプを使用すると完全に機能するため、そうではないと思います。 (ただし、GTaskからauthTokenを取得できません)。
だから、ここに私のコードがあります:
Authenticator.xml:
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
android:accountType="com.google"
android:icon="@drawable/miniicon"
android:smallIcon="@drawable/miniicon"
android:label="@string/app_name"
android:accountPreferences="@xml/preferences"
/>
アカウントタイプの定義:
public class AuthenticationService extends Service {
public static final String ACCOUNT_TYPE = "com.google";
クラスでの使用方法:
AccountManager manager = AccountManager.get(activity);
final Account account = new Account(login, AuthenticationService.ACCOUNT_TYPE);
manager.addAccountExplicitly(account, password, new Bundle());
「com.google」の代わりに「com.plop」などを使用すると、問題なく動作します。
したがって、私の2つの質問は次のとおりです。1。「com.google」アカウントタイプを使用できますか?2.「com.google」以外を使用してauthTokenを取得できないのは正常ですか(使用されているアカウントはまだGoogleアカウントであり、Androidではそのように設定されていません)。
よろしくお願いします。サイトに回答があった場合はご容赦ください。