2013-06-03 37 views
5

Khi người dùng tạo tài khoản mới trong ứng dụng của tôi, tôi tạo tài khoản mới trong trình quản lý tài khoản Android. Vì vậy, người dùng có thể xem tài khoản của mình trong cài đặt-> tài khoản và đồng bộ hóa ...Xóa ứng dụng của tôi khỏi trình quản lý tài khoản Android "thêm tài khoản"

Câu hỏi: có thể xóa ứng dụng của tôi khỏi danh sách khi người dùng nhấp vào "thêm tài khoản mới" trong tài khoản và đồng bộ không? Người dùng sẽ không thấy ứng dụng của tôi trong danh sách này nhưng vẫn có thể tạo tài khoản trong ứng dụng của tôi.

PS. Tôi không muốn mở hoạt động khi nhấp vào thêm tài khoản, tôi chỉ muốn không hiển thị điểm ứng dụng của tôi trong danh sách.

tôi có trong manifest của tôi:

<service 
     android:name="myPackage.authenticator.AuthenticationService" 
     android:exported="false" > 
     <intent-filter> 
      <action android:name="android.accounts.AccountAuthenticator" /> 
     </intent-filter> 

     <meta-data 
      android:name="android.accounts.AccountAuthenticator" 
      android:resource="@xml/authenticator" /> 
    </service> 

Và xác thực của tôi:

<?xml version="1.0" encoding="utf-8"?> 
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android" 
android:accountType="myType" 
android:icon="@drawable/ic_launcher" 
android:label="@string/app_name" 
android:smallIcon="@drawable/ic_launcher" /> 

Trả lời

3

Theo như tôi hiểu, bạn không muốn người dùng có nhiều tài khoản dịch vụ của bạn trong một thiết bị. Tôi thấy hai tùy chọn ở đây:

  1. Quản lý nếu người dùng đã thêm tài khoản. Khi người dùng điều hướng đến Cài đặt> Tài khoản> Thêm tài khoản và chọn dịch vụ của bạn, bạn sẽ kiểm tra xem có bất kỳ tài khoản đã đăng ký nào trên thiết bị hay không. Nếu có, hãy từ chối xác thực mới.

  2. Tắt "myPackage.authenticator.AuthenticationService" ngay sau khi người dùng thêm tài khoản đầu tiên (có thể không an toàn), để hệ thống (ứng dụng Cài đặt) sẽ không thể định vị dịch vụ của bạn khi phân tích cú pháp cho nhà cung cấp xác thực.

+0

Thx cho câu trả lời. Nhưng tôi không thể tìm được cách nào để dừng dịch vụ này. Bất kỳ ý tưởng? – Kulibin

+0

Bạn có nghĩa là "cách tắt"? Vui lòng tham khảo ['PackageManager.setComponentEnabledSetting()'] (https://developer.android.com/reference/android/content/pm/PackageManager.html) – ozbek

+0

Tôi đã kiểm tra nó. Và những gì tôi nhận được: Tôi tạo tài khoản mới và sau đó vô hiệu hóa AuthService của tôi. Sau đó (khi tôi cần), tôi kích hoạt dịch vụ này và muốn nhận tài khoản đã lưu của mình. Nhưng tài khoản này không có sẵn, nó đã bị xóa khi tôi vô hiệu hóa dịch vụ. Vì vậy, tôi không thể tắt Dịch vụ của mình. Và, có khả năng, nó là không thể làm những gì tôi muốn ... Bất kỳ cách nào, thx để được giúp đỡ. – Kulibin

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