2012-05-18 11 views
14

Tôi đang triển khai một chương trình đồng bộ hóa cho ứng dụng android và muốn thực hiện cài đặt cho tài khoản có sẵn trong menu "Tài khoản & đồng bộ hóa". Tôi đã thấy điều này được thực hiện trong ứng dụng DropBox (như được hiển thị bên dưới), nhưng tôi không thể tìm thấy tài liệu về cách thực hiện việc này. Tôi đã thêm tài khoản, chỉ muốn thêm liên kết vào cài đặt tài khoản trong menu này.Hiển thị cài đặt trong trình đơn tài khoản & đồng bộ hóa cho ứng dụng android

enter image description here

Trả lời

22

Trong Android Manifest của bạn, bạn nên có một phần như thế này để xác định xác thực tài khoản của bạn:

<service android:name="AccountAuthenticatorService" 
android:exported="true" android:process=":auth"> 
<intent-filter> 
    <action android:name="android.accounts.AccountAuthenticator" /> 
</intent-filter> 
<meta-data android:name="android.accounts.AccountAuthenticator" 
    android:resource="@xml/authenticator" /> 
</service> 

Các meta- thẻ dữ liệu ở trên phải trỏ đến tệp XML xác định tài khoản của bạn, như sau:

<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android" 
    android:accountType="fm.last.android.account" 
    android:icon="@drawable/icon" 
    android:smallIcon="@drawable/icon" 
    android:label="@string/app_name" 
    android:accountPreferences="@xml/account_preferences"/> 

androi d: accountPreferences thuộc tính điểm nêu trên vào một file XML định nghĩa màn hình sở thích của bạn, như vậy:

<PreferenceScreen 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <PreferenceCategory 
      android:title="General Settings" /> 

    <PreferenceScreen 
     android:key="account_settings" 
     android:title="Account Settings" 
     android:summary="Sync frequency, notifications, etc."> 
     <intent 
      android:action="fm.last.android.activity.Preferences.ACCOUNT_SETUP" 
      android:targetPackage="fm.last.android" 
      android:targetClass="fm.last.android.activity.Preferences" /> 
    </PreferenceScreen> 
</PreferenceScreen> 

Trên đây PreferenceScreen sẽ tung ra một ý định để hiển thị một màn hình cài đặt, nhưng bạn cũng có thể xác định cài đặt trực tiếp trong XML tập tin.

+0

Cảm ơn bạn đã phản hồi! – Patrick

+0

Qsn cũ này! nhưng * Intent intent = new Intent (Cài đặt.ACTION_SYNC_SETTINGS); // ACTION_SETTINGS startActivity (intent); * không khởi chạy màn hình tùy chọn !! –

0

Nếu tôi hiểu một cách chính xác, bạn muốn hiển thị "Accounts & cài đặt đồng bộ" màn hình từ bên trong ứng dụng của bạn. Đối với điều này, bạn phải bắn một ý định cho các thiết lập. Sử dụng mã đưa ra dưới đây:

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.setComponent(new ComponentName("com.android.providers.subscribedfeeds","com.android.settings.ManageAccountsSettings")); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

Hy vọng điều này giúp ...

+0

Không có điều này không phải là những gì tôi đang cố gắng làm (mặc dù tốt để biết điều này). Tôi đang cố gắng để thêm "cài đặt chung" dưới menu.accounts như được hiển thị trong pic trên – Patrick