2017-07-28 45 views
5

Chcę, aby użytkownik mógł się ukryć i wyświetlić ikonę Launcher aplikacji. znalazłem rozwiązanie na https://www.nexsoftsys.com/articles/how-to-hide-application-launcher-lcon-in-android.html znalazłem też to samo rozwiązanie w Hide application iconUkryj i wyświetl ikonę aplikacji

Jednak w tym drugim linku, to mówi, że ten kod, który pojawia się w obu powyższych

PackageManager pm = getApplicationContext().getPackageManager(); 
pm.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); 

„sprawi, aplikacja NIE można uaktualnić z Google Play, ponieważ system operacyjny nie znajdzie pakietu po wyłączeniu tego składnika i nie będzie mógł go ponownie zainstalować, chyba że aplikacja nie jest odinstalowana podczas instalacji (co nie jest przyjazne dla użytkownika) "

Ja h starał się odkryć, czy to prawda, czy nie, ale bez powodzenia. Czy ktoś może odpowiedzieć na to pytanie? Dzięki bardzo z góry

+1

Czy chcesz, aby użytkownik ukrył ikonę na ekranie głównym? lub z ekranu głównego, szuflady aplikacji i gdziekolwiek indziej można ją znaleźć? Jeśli jest to drugie, a nie poprzednie, w jaki sposób można oczekiwać, że użytkownik będzie mógł uzyskać dostęp do aplikacji/uruchomić ją po jej ukryciu? Niektóre tajne galerie/przeglądarki używają ikony kalkulatora, aby ukryć swoją aplikację, następnie użytkownik musi przejść do kalkulatora, a następnie wpisać tajną sekwencję cyfr i poleceń, aby uruchomić podstawową aplikację. Zamiast tego możesz rozważyć zrobienie czegoś takiego dla swojej aplikacji. –

+0

Dzięki za odpowiedź. Jeśli zobaczysz drugi link powyżej, umożliwiam użytkownikowi uruchomienie aplikacji za pomocą dialera. Chciałbym, aby aplikacja była ukryta przed wszystkimi powyższymi. – user396707

Odpowiedz

0

Prosisz nam udowodnić negatywne.

O ile brak jest jednoznacznie wyartykułowany w dokumentacji Androida, lub o ile nie jest to wyraźnie zabronione w usługach Google Play dla wydawców/programistów (co nie jest prawdą, ale nie jestem prawnikiem), w rzeczywistości bardzo trudno udowodnić, że konkretna funkcja Androida nie istnieje.

Jedynym rozwiązaniem, które zadziała na wszystkich telefonach z Androidem, o którym wiem, jest stworzenie własnego niestandardowego launcher. Dzięki wyrzutni custom, którą instaluje i tworzy główny program uruchamiający, możesz ukryć dowolną aplikację, nawet samą siebie.

Oprócz tego jednego rozwiązania, inne rozwiązania częściowe byłoby:

  1. o Samsung i Sony tylko w telefonach, można użyć API Samsung Knox i SONY zastrzeżonych API. Jeśli Twoja aplikacja ma charakter komercyjny, spróbuj za to zapłacić.

  2. Na telefonach firmy Samsung można również podać instrukcje dotyczące ręcznego ukrywania ikony aplikacji.

  3. Jeśli Twoja aplikacja jest w rzeczywistości oparta na telefonach, co brzmi jak należy, możesz rozważyć przeniesienie jej funkcji do chmury za pomocą usługi takiej jak Twilio lub Voxeo. W ten sposób użytkownik będzie musiał tylko dodać numer telefonu do swoich ulubionych/szybkiego wybierania, bez konieczności instalowania czegokolwiek, i można aktualizować aplikację w chmurze tak często, jak chciałeś, bez konieczności aktualizacji telefonu. Być może możesz nawet ulepszyć funkcjonalność swojej aplikacji w chmurze dzięki funkcjom API specific.

0

Można ukryć ikonę aplikacji przy użyciu kodu poniżej:

PackageManager p = getPackageManager(); 
ComponentName componentName = new ComponentName(this, com.apps.MainActivity.class); 
p.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); 

Pokaż ikonę aplikacji przy użyciu kodu poniżej:

PackageManager p = getPackageManager(); 
ComponentName componentName = new ComponentName(this, com.apps.MainActivity.class); 
p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); 
+0

Niestety, ale to nie odpowiada na pytanie, a także jego część jest już pokazana w moim pytaniu. – user396707

0

Ponieważ nie wiemy, w jaki sposób Google Play (który jest zastrzeżony) aktualizuje daną aplikację, nie możemy podać logicznego uzasadnienia. Zależy to od tego, jak Google Play aktualizuje aplikacje/dodaje nowe łatki. Jedynym sposobem na potwierdzenie tego jest poproszenie kogoś, kto zrobił to wcześniej. Ten question prosi o to samo i jeden programista potwierdził, że działa.Odpowiedź została przyjęta.

Zgaduję, że obecnie: musisz wyłączyć składnik uruchamiający, aby ukryć aplikację. Nie oznacza to, że inne składniki są wyłączone. Inne składniki są nadal aktywne. Z tego powodu aktywne komponenty powinny być nadal możliwe do uaktualnienia. Aby grać bezpiecznie, twoje przyszłe ulepszenia powinny być wykonywane w aktywnych komponentach. Alternatywnie można użyć komponentu wyskakującego alias dla swojej aplikacji. Coś jak this.

Powiązane problemy