2012-03-19 9 views
8

私はアンドロイド開発には初めてですので、本当に分かりやすい質問がありましたら残念です。私のアプリでは、アカウントマネージャーを使って自動的にGoogleアカウントを追加します。 addAccountまたはaddAccountExplicitlyを使用したいのですが、アカウント名が「プラチナ」で、パスワードが「ソフトウェア」であると仮定して、これをどうやって行っていますか?アカウントマネージャーからアカウントを追加する

答えて

12

これを試してみてください。必要な

権限:

<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/></uses-permission> 
<uses-permission android:name="android.permission.ACCOUNT_MANAGER"></uses-permission> 
<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission> 
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"></uses-permission> 

AuthenticatorActivity.java

public class SleepyAccountAuthenticatorActivity extends AccountAuthenticatorActivity 
{ 
protected void onCreate(Bundle icicle) 
{ 
    super.onCreate(icicle); 
    setContentView(R.layout.new_account); 
    final Button done = (Button) findViewById(R.id.new_account_done); 
    final EditText server = (EditText) findViewById(R.id.new_account_server); 
    final EditText username = (EditText) findViewById(R.id.new_account_username); 
    final EditText password = (EditText) findViewById(R.id.new_account_password); 
    final Activity self = this; 
    done.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) 
     { 
      //Account 
      Account account=new Account(username.getText(). 
      toString(), getString(R.string.ACCOUNT_TYPE)); 

      Bundle userdata = new Bundle(); 
      userdata.putString("SERVER", server.getText().toString()); 
      //AccountManager 
      AccountManager am = AccountManager.get(self); 

      if (am.addAccountExplicitly(account, password. 
      getText().toString(), userdata)) 
      { 
       Bundle result = new Bundle(); 
       result.putString(AccountManager.KEY_ACCOUNT_NAME, username.getText().toString()); 
       result.putString(AccountManager.KEY_ACCOUNT_TYPE,getString(R.string.ACCOUNT_TYPE)); 
       setAccountAuthenticatorResult(result); 
      } 
      finish(); 
     } 
    }); 
} 
} 

\ RES \ XML \ authenticator.xml

<?xml version="1.0" encoding="utf-8"?> 
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android" 
android:accountType="com.yarin.AccountType" 
android:icon="@drawable/icon" 
android:smallIcon="@drawable/icon" 
android:label="@string/ACCOUNT_LABEL" 
android:accountPreferences="@xml/account_preferences" 
/> 
+0

@imranは、あなたの完全なソースコードを投稿してくださいことはできますか?これも私を助けます。 –

+1

setAccountAuthenticatorResultはAccountAuthenticatorActivityクラスで定義されたメソッドです。http://developer.android.com/reference/android/accounts/AccountAuthenticatorActivity.html –

+0

レイアウトコードはどこですか? –

関連する問題