2011-12-12 11 views
6

Pobrałem aplikację z rynku Android. Po prostu muszę wpisać liczbę i po kliknięciu klawisza Enter aplikacja generuje tabelę z pewną zawartością.Czy można uzyskać dane z innej aplikacji na Androida?

Chcę, aby moja aplikacja skopiowała zawartość tabeli. Moja aplikacja odwołała się do tej aplikacji. Użytkownik musi ręcznie wprowadzić dane do tekstu edycji, a następnie nacisnąć enter. Moja aplikacja będzie działać w tle do tego czasu.

  1. Czy to możliwe?
  2. Jak?

Kolejne pytanie: Czy mogę po prostu zrobić zrzut ekranu ekranu drugiej aplikacji, a następnie użyć obrazu do dekodera tekstu, aby uzyskać dane na tym ekranie?

Odpowiedz

2

Here to pełna dokumentacja dotycząca przechowywania danych i udostępniania danych między aplikacjami. Wątpię, czy możesz udostępnić bazę danych, ale możesz spróbować zrobić to samo, używając: external storage

+0

Ta aplikacja nie jest moja, więc nie wiem nawet, gdzie znajduje się baza danych, w której przechowywane są wszystkie dane. W takim razie co mam zrobić? – Pallavi

+0

Przypuszczam, że nie można uzyskać żadnych prywatnych danych z innych aplikacji.Jeśli aplikacja stron trzecich chce udostępniać dowolne dane - używa metod opisanych w dokumentacji – Jin35

0

Wygląda na to, że chcesz przekazać niektóre dane do tej aplikacji i uruchomić ją, prawda? Jest to możliwe, jeśli i tylko wtedy, gdy ta aplikacja zapewnia pewne "haki", aby to zrobić.

W Androidzie można, bez względu na to, czy dana aplikacja zapewnia żadnych haczyków dla Ciebie, czy nie, uruchomić aplikację, robiąc coś takiego:

Intent intent=new Intent(); 
intent.setPackage(TARGET_APP's package name); 
context.startActivity(intent); 

ta powinna rozpocząć tę aplikację, jeśli jednak nie robi nie dostarczy ci haczyków, aplikacja będzie działać tak, jak zwykle działa. W takim przypadku dane nie zostaną uwzględnione. Jeśli udostępnia haki, możesz put data przez intent.putExtra("KEy",value), a następnie uruchomić tę aplikację.

Z drugiej strony, jeśli chcesz odczytać dane z aplikacji, jest to możliwe tylko wtedy, gdy pozwala na to aplikacja. Dane generowane przez aplikację są domyślnie prywatne.

+0

Dziękuję za odpowiedź, napisałem kod, aby uruchomić aplikację i działa poprawnie, ale muszę uzyskać dostęp do danych. Nie jestem w stanie tego zrobić. – Pallavi

+0

, jeśli ta aplikacja nie tworzy mechanizmu przesyłania danych przez niektóre aplikacje trzecie, nie można tego zrobić. – Huang

+0

ok. dzięki. ale czy jest tu jakaś inna praca? – Pallavi

1

Prywatne aplikacje dla pojedynczych sandboxów z systemem Android, dzięki czemu możesz wchodzić w interakcje z innymi aplikacjami tylko dzięki udostępnianym usługom - intencjom i dostawcom treści. Zasadniczo zakorzenienie prawie tu nie pomoże.

Możliwość uzyskania danych z aplikacji innej firmy, o których nic nie wiadomo, jest prawdopodobnie niemożliwa, a zrzut ekranu jest nieczytelny i zawodny, nawet jeśli jest to możliwe.

Dlaczego nie skontaktować się z programistą i nie wyjaśnić, co chcesz zrobić, aby sprawdzić, czy dostarczy rozsądny sposób na uzyskanie danych z ich aplikacji?

4

Istnieją dwa sposoby:

1) zamiar: Jeśli chcesz podzielić się niewielkie ilości tekstu lub danych liczbowych między aplikacjami, należy wysłać Intent, która zawiera dane.

2) Dostawca treści: aby udostępnić plik z aplikacji do innej aplikacji, należy wysłać aplikację odbiorczą do identyfikatora URI zawartości pliku i przyznać tymczasowy dostęp do tego identyfikatora URI. Identyfikatory URI treści z tymczasowymi uprawnieniami dostępu do identyfikatora URI są bezpieczne, ponieważ dotyczą tylko aplikacji otrzymującej identyfikator URI i wygasają automatycznie.

Powiązane problemy