Komunikacja między dwoma urządzeniami Android

0

Cześć.

Podpowiedzcie proszę w jaki sposób najłatwiej będzie zrobić komunikację między dwoma aplikacjami/urządzeniami z Androidem.

Potrzebuje zrobić aplikację która przy połączeniu przychodzącym na telefonie wyświetli na innym urządzeniu (tablecie) dane z bazy danych dot tego numeru.

Czyli:

  1. Na telefon przychodzi połączenie
  2. Program na telefonie wyłapuje ten fakt i wysyła informację o tym jaki numer dzwoni na drugie urządzenie
  3. Na drugim urządzeniu program sprawdza w swojej bazie danych informacje na podstawie otrzymanego numeru i wyświetla je na ekranie

Dwa główne problemy które widzę na ten moment:

  1. Komunikacja między urządzeniami - najlepiej jakby się dało to zrobić przez bluetooth, wtedy tablet nie wymagał by dostępu do żadnej sieci (ani WiFi ani GSM)
  2. Podpięcie się pod zdarzenie połączenia przychodzącego - nigdy tego nie robiłem, także będę wdzięczny za hasła co muszę obadać, żeby to zrealizować
  3. Aplikacje muszą działać w "tle" - powinienem to zrobić jako jakąś "usługę" czy jak to się robi w Androidzie?

Z góry dziękuję za każdą podpowiedź, wskazówkę.

Pozdrawiam

0

Najłatwiej to użyj tego co umiesz. Co umiesz?

Dla mnie najłatwiej byłoby to zrobić przez firebase bo właściwie nic nie trzeba robic (wszystko tam jest).

Btw. takie apki istnieją i mają się dobrze więc może wcale nie potrzebujesz tego klepać? To ma być projekt do szuflady, na zaliczenie, żeby się pochwalić żonie czy masz zamiar zarobić pierwszy milion?

1

W nowych androidach https://developer.android.com/reference/android/telephony/TelephonyCallback.CallStateListeneri starych https://developer.android.com/reference/android/telephony/PhoneStateListener

Może być bluetooth, ale jak w sieci lokalnej to łatwiej będzie postawić serwis z kolejką nawet i na redisie i będzie ładnie śmigać. Jak będziesz chciał robić historię to wystarczy, że bazę podepniesz i już.

A droid jest dość nieprzewidywalny i lubi ubijać apki. Dawno się tym nie bawiłem, ale to może pomóc https://developer.android.com/guide/components/foreground-services

0

@marian pazdzioch: jeśli chodzi o Androida to nie umiem za wiele, więc i tak czeka mnie nauka - spojrzę na Firebase - dzięki

Aplikacja ma być dla mnie do użytku prywatnego, z tym, że w rzeczywistości ma robić trochę więcej niż napisałem.
Kojarzysz jakieś nazwy podobnych aplikacji - chętnie bym spojrzał.

@Dregorio: to ma być do użytku "w terenie" (w aucie) dlatego idealnie by było gdyby urządzenia komunikowały się bezpośrednio ze sobą

0
hipekk napisał(a):

Dwa główne problemy które widzę na ten moment:

  1. Komunikacja między urządzeniami - najlepiej jakby się dało to zrobić przez bluetooth, wtedy tablet nie wymagał by dostępu do żadnej sieci (ani WiFi ani GSM)
  2. Podpięcie się pod zdarzenie połączenia przychodzącego - nigdy tego nie robiłem, także będę wdzięczny za hasła co muszę obadać, żeby to zrealizować
  3. Aplikacje muszą działać w "tle" - powinienem to zrobić jako jakąś "usługę" czy jak to się robi w Androidzie?

Kombinujesz z oczywistymi rozwiązaniami które każdy by wymyślił. Ja mam dla ciebie lepsze:

Wybieranie tonowe.

Żadnej sieci, BT, Wifi, permisji, remisji i co tam jeszcze wymyślą by przekonać ludzi do wyrażania zgód na reklamy.

0

@loza_prowizoryczna: nie rozumiem, jak wybieranie tonowe miało by w tym przypadku zadziałać.
Możesz rozwinąć myśl?

1

Możesz zrobić cos takiego wykorzystując BLE urządzenie A w momencie kiedy jest wykonywane połączenie app telefon przekazuje to do app BLE service te dane za pomoca BLE sa wysyłane do app odbierającej która działa w tle w urzadzeniu B w którym masz przypisane dane do konkretnego numeru możesz tam zamieścić co chcesz nawet zdjęcie kto dzwoni lub np kod QR a jeśli będziesz chciał opublikować app w google play w razie czego mam 20 kont i realne urzadzenia teraz google wymaga przeprowadzenia testu zamknientego przez 14 dni jeśli jestes nowym użytkownikiem Google Play Console potrzebnych jest 20 testerow

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.