0

Androidには、電子メールアカウントを追加できるemialアプリケーションがあります。そのアプリケーションにプログラムでGmailアカウントを追加するにはどうすればよいですか?

このリンクAdd account automaticallyを使用しましたが、SecurityException "caller uid 10040 is different than the Authenticator's uid" が発生しました。

私はそのコードを

        Account account = new Account("my id@gmail.com", "com.example.addaccount.account");

ここで、「com.example.addaccount.account」はアプリケーションのパッケージ名であり、同じパッケージ名 android:accountType="com.example.addaccount.account" を使用して、xml という名前のフォルダーに Authenticator.xml ファイルを追加しました。

しかし、「発信者の uid 10043 はオーセンティケーターの uid とは異なります」というエラーが表示されます。何が欠けているのか教えてください。xml ファイルを追加し、アカウントを追加するコードを書きましたが、その xml を何らかの方法で参照する必要がありますか?

4

1 に答える 1

1

このメソッドは、Android マーケットの Gmail アカウントを返します

public String getAccount(){
    String email=null;
    Account[] accounts = AccountManager.get(this).getAccountsByType("com.google");
    for (Account account : accounts) {
         email=accounts[0].toString(); 
    }
    return email;
}

これもmanifest.xmlに追加します

         <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
于 2012-09-11T12:11:15.073 に答える