Ograniczony profil są teraz dostępne w Androidzie od wersji 4.3, dowiedziałem się, że niektóre aplikacje, takie jak kamera, Gmail itp., Nie są dostępne w tego rodzaju profilach. Jak mogę zarządzać tymi warunkami w mojej aplikacji? Jak zarządzać produktami aplikacji i ograniczonymi ustawieniami profilu w aplikacji?Jak zarządzać ograniczonymi profilami w aplikacji na Androida?
Odpowiedz
Interfejsem użytkownika do kontrolowania utworzonych ograniczeń zarządza aplikacja Ustawienia systemu. Aby ustawić ograniczenia aplikacji dla użytkownika, musisz zadeklarować ograniczenia aplikacji, tworząc BroadcastReceiver
, który otrzymuje intencję ACTION_GET_RESTRICTION_ENTRIES
. System odwołuje się do tej intencji, wysyłając zapytanie do wszystkich aplikacji o dostępne ograniczenia, a następnie buduje interfejs użytkownika, aby umożliwić użytkownikowi głównemu zarządzanie ograniczeniami dla każdego profilu z ograniczeniami.
Aby uzyskać więcej informacji spojrzeć na http://developer.android.com/about/versions/android-4.3.html#RestrictedProfiles
Dzięki user370305 nawet jeśli ja już odwiedził
http://developer.android.com/about/versions/android-4.3.html#RestrictedProfiles
chciałbym poprawić go z odniesieniem z
https://www.youtube.com/watch?v=pdUcANNm72o
Ograniczone Profiles to nowa funkcja wprowadzona w Androidzie Jell y Bean 4.3, który daje użytkownikom aplikacji lepszą kontrolę nad udostępnianiem tabletu.
Te ograniczone profile udostępniają aplikacje, konto Google podstawowego konta użytkownika, ale w ograniczony sposób. Nie mają dostępu do Gmaila, sklepu, kalendarza itp. Główny użytkownik może wybrać ograniczenia dla każdej aplikacji.
UserManager klasa jest przedłużony do zarządzania tych ograniczeń
UserManager.getUserRestrictions Zwraca ograniczenia użytkownika szeroki nałożone na użytkownika określonego
UserManager.getApplicationRestrictions zwraca paczkę zawierającą dowolny zapisany ograniczeń aplikacyjnych dla tego użytkownika, dla danej nazwy pakietu . Tylko aplikacja o tej nazwie pakietu może wywoływać tę metodę.
Jeśli potrzebujesz konkretnych ustawień użyć tego zamiaru filtr
<receiver android:name="GetRestrictionsReceiver">
<intent-filter>
<action android:name="android.intent.action.GET_RESTRICTION_ENTRIES "/>
</intent-filter>
</receiver>
teraz wdrożyć odbiornika audycji z listy ograniczeń Entry zwrócony jak to
public class GetRestrictionsReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
final PendingResult result=goAsync();
new Thread(){
public void run(){
final Bundle extras=new Bundle();
ArrayList<RestrictionEntry> newEntries = initRestricions(context);
extras.putParcelableArrayList(Intent.EXTRA_RESTRICTIONS_LIST, newEntries);
result.setResult(Activity.RESULT_OK, null, extras);
result.finish();
}
}.start();
}
}
dowolnej aplikacji, która zdecyduje się wystawiać takie ograniczenia robią to poprzez implementację odbiornika, który obsługuje akcję ACTION_GET_RESTRICTION_ENTRIES. Odbiornik następnie zwraca pakiet wyników, który zawiera pozycję o nazwie "ograniczenia", której wartością jest ArrayList.
Istnieją 3 rodzaje ograniczeń Wejście
- Boolean
- jednokrotnego wyboru
- wielokrotnego wyboru
Można stosować różne metody RestrictionEntry ustawienie i uzyskać różnego rodzaju ograniczeń.
Aby uzyskać dostęp do konta z ograniczonym profilu, należy dodać androida: atrybut restrictedAccountType dla tagu:
<application ...
android:restrictedAccountType="com.example.account.type" >
można użyć następujących sekcji kodu w celu wykrycia, czy aplikacja działa w ograniczonym profilu tryb !!
import android.content.pm.UserInfo;
import android.os.UserHandle;
import android.os.UserManager;
public static boolean isRestrictedProfileInEffect(Context context) {
UserManager userManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
UserInfo restrictedUserInfo = null;
for (UserInfo userInfo : userManager.getUsers()) {
if (userInfo.isRestricted()) {
restrictedUserInfo = userInfo;
}
}
boolean isOwner = UserHandle.myUserId() == UserHandle.USER_OWNER;
boolean isRestrictedProfileOn = restrictedUserInfo != null && !isOwner;
return isRestrictedProfileOn;
}
- 1. Jak zarządzać profilami za pomocą SimpleMembership?
- 2. Skórowanie aplikacji na Androida z profilami do kompilacji Maven
- 3. Jak zarządzać wieloma środowiskami podczas tworzenia aplikacji na Androida?
- 4. Jak zarządzać sesją w logowaniu/wylogowywaniu Androida?
- 5. Jak mogę zarządzać wysokością elementów androida spinnera?
- 6. Jak zarządzać wygaśnięciem okresu próbnego w trybie offline dla aplikacji na Androida?
- 7. Jak zarządzać strefami czasowymi w aplikacji sieciowej?
- 8. Jak uruchamiać aplikacje na Androida w mojej aplikacji na Androida?
- 9. Jak zmienić motyw w aplikacji na Androida?
- 10. Jak uruchomić valgrind w aplikacji na Androida?
- 11. ExceptionInInitializerError w aplikacji na Androida?
- 12. Jak zarządzać układem ui aplikacji Ember.js?
- 13. Wdrażanie aplikacji na Androida
- 14. Przekształcanie strony internetowej z profilami w projekt aplikacji WWW
- 15. Jak korzystać z aplikacji WhatsApp w mojej aplikacji na Androida?
- 16. Globalny obiekt aplikacji na Androida
- 17. Jak zmienić domyślną czcionkę aplikacji na Androida?
- 18. Jak wykrywać wyjście aplikacji na Androida?
- 19. Jak zrobić kopię recenzji aplikacji na Androida?
- 20. Aktualizacja aplikacji Xamarin na Androida
- 21. Zarządzanie konfiguracją encji z kontekstami ograniczonymi DDD
- 22. Jak wyczyścić SharedPreferences spoza aplikacji na Androida
- 23. Jak uzyskać nazwę aplikacji na Androida?
- 24. Jak przesłać zdjęcia na serwer FTP w aplikacji na Androida?
- 25. Jak określić zewnętrzny plik application.yml na wiosnę z profilami
- 26. Jak zarządzać aplikacjami Django?
- 27. Jak wyświetlać i zarządzać prostym oknem dialogowym aplikacji w kakao
- 28. USSD na Androida z aplikacji
- 29. FIFO Mapa z ograniczonymi elementów
- 30. Jak zapobiegać kradzieży aplikacji (specyficzne dla aplikacji na Androida)?
+1 bardzo pomocny przegląd! – rekire
Upewnij się, że używasz GET_RESTRICTION_ENTRIES zamiast GET_RESTRICTIONS_ENTRIES, ponieważ właśnie straciłem na to godziny. – RuAware
@RuAware Dziękujemy za poprawkę –