Pracuję nad aplikacją na Androida, chcę wyświetlić wersję .apk
i datę, teraz mogę wyświetlać wersję aplikacji aplikacji przy użyciu PackageInfo
, a teraz chcę wyświetlić data utworzenia aplikacji lub data utworzenia .apk
.Wyświetl datę utworzenia aplikacji Android.apk w aplikacji
Odpowiedz
Metoda który sprawdza datę ostatniej modyfikacji classes.dex oznacza to ostatni raz, kiedy kodzie aplikacji został zbudowany:
try{
ApplicationInfo ai = getPackageManager().getApplicationInfo(getPackageName(), 0);
ZipFile zf = new ZipFile(ai.sourceDir);
ZipEntry ze = zf.getEntry("classes.dex");
long time = ze.getTime();
String s = SimpleDateFormat.getInstance().format(new java.util.Date(time));
}catch(Exception e){
}
To już nie działa dla mnie. Kiedyś, ale teraz tak nie jest. Nie wiem od kiedy. –
@DanielF http://stackoverflow.com/a/7608719/934646 Omówiono tam, dlaczego ten kod nie działa, ja też szukam tego samego –
Jaki dokładnie jest czas, że ten kod zwraca? Czas, w którym programista utworzył plik "classes.dex"? Czy można go użyć do jednoznacznego określenia, czy plik APK jest poprawny, i czy ma łatwą wskazówkę, aby sprawdzić, czy 2 pliki APK są identyczne? –
używam tej samej strategii jak Irshad Khan i wskaźnik NULL chyba wolę manifeście Plik .MF. Ten jest zregenerowany nawet po zmodyfikowaniu układu (co nie ma miejsca w przypadku klas.dex). Wymuszam także sformatowanie daty w GMT, aby uniknąć pomylenia terminala i serwera TZ (jeśli trzeba dokonać porównania, np. Sprawdź najnowszą wersję).
to spowodować następujący kod:
try{
ApplicationInfo ai = getPackageManager().getApplicationInfo(getPackageName(), 0);
ZipFile zf = new ZipFile(ai.sourceDir);
ZipEntry ze = zf.getEntry("META-INF/MANIFEST.MF");
long time = ze.getTime();
SimpleDateFormat formatter = (SimpleDateFormat) SimpleDateFormat.getInstance();
formatter.setTimeZone(TimeZone.getTimeZone("gmt"));
String s = formatter.format(new java.util.Date(time));
zf.close();
}catch(Exception e){
}
ok, sprawdzę to ... –
Dla nowych czytelników:
public static String getAppTimeStamp(Context context) {
String timeStamp = "";
try {
ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(context.getPackageName(), 0);
String appFile = appInfo.sourceDir;
long time = new File(appFile).lastModified();
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
timeStamp = formatter.format(time);
} catch (Exception e) {
}
return timeStamp;
}
To wykorzystuje katalog, w którym znajduje się plik APK. Nie sam plik APK. Ale myślę, że to dobrze, ponieważ czas modyfikacji folderu zmieni się po zmianie apk. – Yetti99
- 1. Jak umieścić datę kompilacji aplikacji w aplikacji?
- 2. Otrzymaj datę utworzenia skrytki
- 3. Wyświetl listę wszystkich zainstalowanych aplikacji.
- 4. Ukryj i wyświetl ikonę aplikacji
- 5. Wyświetl plik HTML w aplikacji Shiny App
- 6. Wyświetl obraz w aplikacji o statusie kakao
- 7. Wyświetl stos wywołań w aplikacji Delphi Win32
- 8. Wyświetl listę aktywnych PendingIntents w aplikacji AlarmManager
- 9. Wyświetl tekst kannada w aplikacji Android
- 10. Wyświetl hiperłącze w aplikacji React Native App
- 11. Jak uzyskać datę utworzenia pliku?
- 12. Jak wstawić datę utworzenia w JavaDoc
- 13. Zyskaj datę utworzenia przedmiotu w Sitecore
- 14. Określić datę utworzenia pliku w Javie
- 15. Pobierz datę utworzenia pliku w węźle
- 16. moment.js - wyświetl datę LUB czas
- 17. Wyświetl listę aplikacji do otwierania określonego pliku
- 18. Wyświetl ostatnio zapisaną datę w arkuszu roboczym
- 19. Wyświetl kalendarz, aby wybrać datę w java
- 20. Pierwsze próby utworzenia wyniku projektu aplikacji w java.lang.NullPointerException error
- 21. iOS: Jak znaleźć datę utworzenia pliku?
- 22. JavaScript jest złą datę utworzenia miesięcy
- 23. Zapytanie o datę utworzenia tabeli SQL Server
- 24. Jak znaleźć datę utworzenia AMI Amazon
- 25. Wyświetl wersję projektu w aplikacji ASP.NET MVC Core (RC2)
- 26. Jak programowo odczytać datę utworzenia mojego apk na Androida?
- 27. Wyświetl bieżącą datę na JSF Strona
- 28. Jak sformatować datę w uniwersalnej aplikacji Windows Store (W8.1 + WP8.1)?
- 29. Grails - Jak wyświetlić wersję i datę/czas w mojej aplikacji?
- 30. Thor Błąd argumentu podczas próby utworzenia nowej aplikacji Railsowej
Po dokonaniu aplikacja wystarczy umieścić aktualną datę w stałą, a następnie ją przeczytać w aplikacji. – Pietu1998
@ Pietu1998 Ok mogę uzyskać aktualną datę, ale jak mogę ją ustawić na stałe. –
Mam na myśli, że za każdym razem, gdy budujesz swój pakiet APK, po prostu umieść datę w stałej ('public static final String'), a aplikacja powinna używać tej wartości. Jeśli umieścisz go w wystarczająco prostym pliku, możesz to zrobić automatycznie, np. [Ten jeden] (http://stackoverflow.com/questions/6758685/auto-increment-version-code-in-android-app). – Pietu1998