2013-10-24 17 views
24

Tôi đã tạo Bộ điều hợp Đồng bộ với Tài khoản giả và tôi không muốn nó xuất hiện trong danh sách Tài khoản trong ứng dụng Cài đặt hoặc khi người dùng nhấn nút thêm tài khoản trong Cài đặt . Tôi đã thử android: userVisible = "false" trong định nghĩa bộ điều hợp đồng bộ hóa của tôi, nhưng vẫn xuất hiện tài khoản. Tôi đã thử điều này trên một trình giả lập và 3 thiết bị vật lý. Mọi thứ hoạt động chính xác theo nghĩa nó đồng bộ tất cả dữ liệu tôi cần, điều duy nhất sai là tôi thấy Tài khoản trong danh sách và tôi không muốn.Ẩn Tài khoản giả cho Bộ điều hợp Đồng bộ từ Cài đặt

authenticator.xml của tôi là:

<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android" 
        android:accountType="net.astagor.android.hhp.account" 
        android:icon="@drawable/ic_launcher" 
        android:smallIcon="@drawable/ic_launcher" 
        android:label="@string/app_name" 
    /> 

syncadapter.xml của tôi là:

<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android" 
      android:contentAuthority="net.astagor.android.hhp" 
      android:accountType="net.astagor.android.hhp.account" 
      android:userVisible="false" 
      android:supportsUploading="true" 
      android:allowParallelSyncs="false" 
      android:isAlwaysSyncable="true" 
    /> 

Và tôi thêm adpater của tôi như thế này:

Account account = AuthenticatorService.GetAccount(); 

AccountManager accountManager = (AccountManager) context 
    .getSystemService(Context.ACCOUNT_SERVICE); 

if (accountManager.addAccountExplicitly(account, null, null)) { 

ContentResolver.setIsSyncable(account, StubProvider.AUTHORITY, 1); 

ContentResolver.setSyncAutomatically(account, 
     StubProvider.AUTHORITY, true); 

ContentResolver.addPeriodicSync(account, StubProvider.AUTHORITY, 
     new Bundle(), SYNC_FREQUENCY); 
} 

Và tôi nhận được tài khoản trên danh sách tài khoản và trong danh sách thêm tài khoản.

Trợ giúp xin vui lòng! :)

+0

Tôi rất quan tâm đến câu trả lời của câu hỏi này (nếu có cách nào tốt hơn) –

+0

Cùng một vấn đề ở đây. Mất tất cả mọi thứ từ các tài liệu giống như bạn - không muốn một dummyaccount được hiển thị, nhưng nó chỉ đơn giản là luôn luôn cho thấy! :-(Điều gì bị hỏng ở đây? – Zordid

Trả lời

3

Đây không phải là câu trả lời thực sự, nhưng nếu bạn xóa nhãn khỏi tệp authenticator.xml, nó không hiển thị trong danh sách tài khoản đã thêm, nhưng biểu tượng không có nhãn trong danh sách sau khi nhấp thêm tài khoản. Ugly và có lẽ không phải là một ý tưởng tốt. (phương pháp này ẩn tài khoản ít nhất trên nexus 4 của tôi chạy 4.4 - chưa kiểm tra các thiết bị khác).

Tôi tin cờ hiển thị của người dùng trong bộ điều hợp đồng bộ hóa chỉ ảnh hưởng đến hiển thị phần đồng bộ hóa sau khi chọn tài khoản, nơi bạn có thể xem thời gian đồng bộ hóa cuối cùng, đặt cài đặt đồng bộ hóa tự động và đồng bộ hóa trình kích hoạt.

Tôi cũng muốn biết điều này. Nó phải là có thể, như tôi không thấy danh sách tài khoản của tôi rải rác với các tài khoản giả. Vì vậy, hoặc là có một cách hoặc gần như không có ứng dụng được cài đặt của tôi đang làm phiền với bộ điều hợp đồng bộ?

4

Tôi đã tìm thấy giải pháp. Đây là cách authenticator.xml nên hình như:

<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android" 
        android:accountType="net.astagor.android.hhp.account" 

    /> 

Bạn không cần phải có những dòng này:

   android:icon="@drawable/ic_launcher" 
       android:smallIcon="@drawable/ic_launcher" 
       android:label="@string/app_name" 

Nếu bạn đặt chúng, tài khoản này sẽ được hiển thị bất cứ nơi nào bạn thiết lập android: userVisible =" sai "hay không.

+4

Bạn vẫn nhận được hàng trống mặc dù trong danh sách tài khoản khả dụng, Nếu bạn đi tới Cài đặt> Thêm tài khoản, Hiện tại có hàng trống ở trên cùng cho tôi Bạn cũng nhận được cảnh báo được in nhật ký của ứng dụng cài đặt, với tên gói của bạn, không lý tưởng: 2671-2671 /? W/ChooseAccountActivity ﹕ Không có tài nguyên nhãn cho loại tài khoản my.package.name.account 2671-2671 /? W/ChooseAccountActivity ﹕ Không có tài nguyên biểu tượng cho loại tài khoản my.package.name.account 2671-2671 /? W/AuthenticatorHelper ﹕ Không có biểu tượng nhãn cho loại tài khoản my.package.name.account – Jason

+0

Đúng, có vị trí trống trong danh sách Thêm tài khoản. Vậy làm cách nào để mọi người sử dụng tài khoản giả hoặc họ không sử dụng bộ điều hợp đồng bộ? – Astagor

Các vấn đề liên quan