Chcę, aby po uruchomieniu jakiejkolwiek aplikacji w urządzeniu, powinna ona powiadomić mnie (programowo). Czy można uzyskać powiadomienie o każdej aplikacji po uruchomieniu (uruchomieniu).Czy można uzyskać powiadomienie o uruchomieniu dowolnej aplikacji na urządzeniu z Androidem?
Odpowiedz
Nie, to naprawdę nie jest możliwe przy użyciu publicznego zestawu SDK.
W najlepszym razie można stale pobierać odpowiedzi na pytania dotyczące procesu pierwszoplanowego, który znajduje się na samym wierzchu, i zachować dziennik. Jednak nie jest to najdokładniejsza lub najskuteczniejsza metoda.
Możesz pobrać bieżący proces przez ActivityManager#getRunningAppProcesses. Ale na pewno nie można uzyskać powiadomienia, gdy aplikacja się uruchomi bez odradzania się urządzenia.
Kiedy Android uruchamia nową aplikację, Zygote będzie bulić nowy proces:
static void Dalvik_dalvik_system_Zygote_forkAndSpecialize(const u4* args,
JValue* pResult)
{
pid_t pid;
pid = forkAndSpecializeCommon(args, false);
RETURN_INT(pid);
}
można modyfikować i zastąpić libdvm.so.
Każdy program, który jest dynamicznie połączone będzie dostęp do niektórych plików na starcie, takich jak dynamiczny linker. To byłoby bezużyteczne dla celów bezpieczeństwa, ponieważ nie wywoła na statycznie połączonego programu, ale nadal może być interesujące:
#include <stdio.h>
#include <sys/inotify.h>
#include <assert.h>
int main(int argc, char **argv) {
char buf[256];
struct inotify_event *event;
int fd, wd;
fd=inotify_init();
assert(fd > -1);
assert((wd=inotify_add_watch(fd, "/lib/ld-linux.so.2", IN_OPEN)) > 0);
printf("Watching for events, wd is %x\n", wd);
while (read(fd, buf, sizeof(buf))) {
event = (void *) buf;
printf("watch %d mask %x name(len %d)=\"%s\"\n",
event->wd, event->mask, event->len, event->name);
}
inotify_rm_watch(fd, wd);
return 0;
}
Wymaga uprawnienia roota, więc z JNI i zakorzenione urządzenia, będzie można aby to zrobić.
- 1. powiadomienie o programie Android z wyskakującym okienkiem na dowolnej aplikacji
- 2. Informacje o urządzeniu z Androidem
- 3. Czy można zainstalować JDK na urządzeniu z Androidem?
- 4. Powiadomienie o urządzeniu za pomocą urządzenia z Androidem gcm bez serwera innej firmy
- 5. Wybierz folder na urządzeniu z Androidem
- 6. Cordova w rzeczywistości nie instaluje aplikacji na urządzeniu z Androidem.
- 7. Czy mogę odczytać kartę HID iClass na urządzeniu z Androidem?
- 8. Jak sprawdzić kodowanie na urządzeniu z Androidem?
- 9. Nie działa powiadomienie z Androidem.
- 10. Powiadomienie systemu Android po zainstalowaniu aplikacji na urządzeniu - jak?
- 11. Wykryj zainstalowany certyfikat na moim urządzeniu z Androidem
- 12. Jak odinstalować aplikację z Androidem z wiersza poleceń na urządzeniu
- 13. Nie można ustalić, czy sklep Google Play jest zainstalowany, czy nie, na urządzeniu z Androidem
- 14. egnos positionning w urządzeniu z Androidem
- 15. Czy można uzyskać pozycję w rankingu dowolnej aplikacji z interfejsem API sklepu iTunes App?
- 16. Jak uruchamiać pliki .swf na urządzeniu z Androidem
- 17. Znajdź etykietę woluminu z kartą SD na urządzeniu z Androidem
- 18. Jak zmienić identyfikator grupy pliku na zrootowanym urządzeniu z Androidem?
- 19. O uruchomieniu aplikacji na Androida z adresu URL
- 20. Jak wyświetlać powiadomienia tylko na urządzeniu z Androidem Wear?
- 21. Czy mogę uzyskać identyfikator urządzenia z Androidem przez witrynę mobilną?
- 22. Jak uzyskać rozmiar sensora kamery w urządzeniu z Androidem?
- 23. Jak znaleźć wersję procesora ARM na urządzeniu z Androidem?
- 24. Nie można rozwiązać problemu z isConnected() - logowaniem do Google+ na urządzeniu z Androidem
- 25. Jak mogę przechwycić strumień audio na urządzeniu z Androidem?
- 26. Jak korzystać z logowania do OAuth na urządzeniu z Androidem?
- 27. Ustaw pozycję myszy na zrootowanym urządzeniu z Androidem
- 28. Android wykrywający stan dotyku z dowolnej aplikacji
- 29. Eksport na płótno js nie działa na urządzeniu z Androidem
- 30. Jak zakodować operację "Synchronizuj teraz" na urządzeniu z Androidem?