Czy ktoś może podsumować wady ustawienia wartości targetSdkVersion na 22, aby uniknąć obsługi uprawnień środowiska wykonawczego?Android - ustaw parametr targetSdkVersion na 22, aby uniknąć uprawnień środowiska wykonawczego, jakie są potencjalne problemy?
Po przeczytaniu dokumentów Google dotyczących tego i kilku innych wpisów przepełnienia stosu, jedyną wadą, jaką mogę znaleźć, jest to, że użytkownik może udzielić pozwolenia podczas instalacji, a następnie przejść do ustawień systemu operacyjnego i odwołać to konkretne pozwolenie dla tego konkretnego aplikacji, a następnie ponownie uruchom aplikację. Jednak z kilku przykładów okazało się, że nie jest to wcale trudne w kodzie.
Czy to naprawdę jedyna wada polegająca na użyciu opcji targetSdkVersion 22 w celu wymuszenia uprawnień podczas instalacji? Czy rzeczy pozostaną w ten sposób przez wiele lat w przyszłości?
Ponadto, jeśli na przykład użyć tych ustawień w moim pliku build.gradle:
compileSdkVersion 24
buildToolsVersion "24.0.1"
minSdkVersion 19
targetSdkVersion 22
nadal mogę uzyskać dostęp do API 23 & 24 funkcje w aplikacji lub mam ograniczone do 22 i wcześniej?
Zanim ktoś odpowie: "Najlepiej nie robić tego i żądać uprawnień w czasie wykonywania zgodnie z zaleceniami Google", tak, oczywiście, jestem tego świadomy. I tak, jestem też świadomy pewnych przykładów, które obecnie nie próbą dostarczenia kodu płytkę kotła dla poprosić o uprawnieniach wykonawczych, takich jak:
https://github.com/googlesamples/easypermissions
Jednak istnieją przynajmniej dwie sytuacje mogę myśleć gdzie byłoby bardzo korzystne żądanie uprawnień podczas instalacji i nie instalowanie aplikacji, jeśli uprawnienia nie zostały przyznane:
1) Przypuśćmy, że w połowie tygodnia pracy osoba, którą zgłoszę, zada: "Czy możesz złożyć dowód koncepcja aplikacji na Androida na piątkowe spotkanie, która pokazuje XYZ, aby pokazać niektórych gości, których mamy tego dnia? " Jeśli muszę zrzucić szybką alfa wersję aplikacji i mam tylko kilka dni, aby to zrobić, i zajmie to dużo czasu, aby połączyć podstawową funkcjonalność, a aplikacja będzie wymagała, powiedzmy, 4 uprawnień, to znacznie lepiej będzie wymagać wszystkich uprawnień podczas instalacji wersji alfa, więc mam czas, aby wydać na funkcjonalność aplikacji. Następnie, jeśli otrzymam polecenie, gdy przeniesię aplikację do wersji beta, a następnie do wersji ostatecznej, w razie potrzeby zmieniam żądania uprawnień do kolejnych w czasie wykonywania.
2) Niektóre aplikacje bezwzględnie wymagają określonych uprawnień. Na przykład, jeśli piszę aplikację OpenCV, która pobiera obrazy z aparatu, a następnie robi coś w oparciu o to, co jest lub nie jest na zdjęciach, byłoby lepiej nie pozwolić, aby taka aplikacja była instalowana na początku, jeśli użytkownik nie chce przyznać zgody kamery.
Naprawdę chciałbym, aby Google pozostawił go jako opcję żądania/wymagać uprawnień podczas instalacji, a także oferuje opcję żądania uprawnień w czasie wykonywania. Czy pojawiła się jakaś negatywna opinia programisty dotycząca decyzji, aby móc prosić o uprawnienia tylko w środowisku wykonawczym? Czy jest możliwe, że Google może zezwolić na żądania uprawnień w czasie instalacji lub uruchamiania w przyszłej wersji, w takim przypadku mógłbym po prostu użyć opcji targetSdkVersion 22 w międzyczasie?