18

Uczę się programowania na Androida i rozumiem pojęcie niestandardowego pozwolenia.Kilka pytań na temat uprawnień niestandardowych w Androidzie

podstawie mojego zrozumienia jest to, jak uprawnienia niestandardowe działa:

'Base app' może chronić niektóre z jego elementów (np aktywności i usługi) poprzez uznanie uprawnienia niestandardowe (czyli używając <permission> znaczników w pliku manifestu) i 'client app', która wywołuje działania i usługi chronione przez niestandardowe uprawnienia, musi uzyskać niezbędne uprawnienia (tj. Przy użyciu znaczników <uses-permission> w pliku manifestu) w celu wywoływania tych składników w base app.

Jednak mam następujące pytania dotyczące uprawnienia niestandardowe:

  1. Jeśli uprawnienie zwyczaj jest zadeklarowany jako niebezpieczne (tj android:protectionLevel="dangerous"), to czy client app musi uzyskać zgodę od użytkownika podczas czasu instalacji? Jeśli tak, w jaki sposób użytkownik wie o tych niestandardowych uprawnieniach, ponieważ nie będzie dokumentacji dotyczącej niestandardowych uprawnień.
  2. Podczas instalacji, czy client app wie, że base app jest już zainstalowany w telefonie użytkownika? Czy mimo to, aby client app znał te informacje?
  3. Po zainstalowaniu client app, co się stanie, jeśli użytkownik zdecyduje się usunąć base app? W takim przypadku, jeśli użytkownik spróbuje użyć client app, spowoduje to wyjątek bezpieczeństwa?

nie wiem, czy te pytania mają sens, ale to sprawia, że ​​zastanawiam się, jak uprawnienia niestandardowe faktycznie pracują w realnym scenariuszem.

Dziękuję.

+0

Patrz link http://stackoverflow.com/questions/8816623/how-to-use-custom-permissions-in-android pomoże – Manu

Odpowiedz

1

Odpowiedzi na pytania znajdują się poniżej. Ale możesz polecić http://developer.android.com/guide/topics/manifest/permission-element.html, aby lepiej zrozumieć uprawnienia Androida.

1.TAK, jeśli zadeklarujesz

android:protectionLevel="dangerous" 

następnie system może automatycznie udzielić go do żądających application.Any niebezpiecznych uprawnień wymaganych przez aplikację mogą być wyświetlane użytkownikowi i wymaga potwierdzenia przed kontynuowaniem.

Aplikacja podstawa definiowania niestandardowego pozwolenie ma przedstawić opis poprzez

android:description="string resource" 

Oto definicja uprawnieniem przykładem. Mam nadzieję, że to jest samo wyjaśniające.

<permission android:description="string resource" 
android:icon="drawable resource" 
android:label="string resource" 
android:name="string" 
android:permissionGroup="string" 
android:protectionLevel=["normal" | "dangerous" | 
"signature" | "signatureOrSystem"] /> 

2.As ile wiem, nie ma sposobu, aby aplikacja klienta, aby zobaczyć obecności zasady aplikacji w czasie instalacji. Ale jest to możliwe, gdy aplikacja klienta jest uruchomiona. W każdym razie uprawnienia są przyznawane przez system Android na podstawie pliku android.xml. Tak więc aplikacja kliencka nie musi martwić się o podstawową aplikację w momencie instalacji.

3. Podstawową aplikację można usunąć nawet wtedy, gdy aplikacja klienta jest nadal zainstalowana. Nie będzie to miało miejsca przez żadne komunikaty o błędach ani wyjątki bezpieczeństwa na żadnym etapie.Ale gdy spróbujesz ponownie uruchomić aplikację kliencką, możesz uzyskać wyjątek "Nie znaleziono aktywności" w miejscu, w którym próbujesz wywołać działanie aplikacji bazowej z aplikacji klienckiej.

+4

dwa ważne punkty: po pierwsze, akceptacja użytkownika to wszystko lub nic, zainstaluj aplikację z ostrzeżeniami o uprawnieniach lub nie instaluj jej. Po drugie, jeśli aplikacja do grantu nie została zainstalowana przed użyciem aplikacji, uprawnienia nie zostaną przyznane, a funkcjonalność, która od nich zależy, nie będzie działać. –

Powiązane problemy