Drukowanie z Android na drukarkę mobilną poprzez BT, a lokalizacja urządzenia.

Drukowanie z Android na drukarkę mobilną poprzez BT, a lokalizacja urządzenia.
ST
  • Rejestracja:ponad 4 lata
  • Ostatnio:6 miesięcy
  • Postów:9
0

Mam w firmie dedykowaną aplikację , która umożliwia wydruk ze smartfona na drukarkę mobilna poprzez BT.
Deweloper tak napisał aplikację, że do wydruku wymagana jest włączona lokalizacja.
Sposób wydruku jest kłopotliwy ponieważ w przypadku braku zasięgu aplikacja wykazuje problemy z wydrukiem.

Pytanie laika: czy da się tak napisać aplikacje by możliwy był wydruk bez potrzeby używania lokalizacji?

GO
  • Rejestracja:11 miesięcy
  • Ostatnio:4 miesiące
  • Postów:358
0

Ogólnie w większości drukarek proces drukowania jest prosty jak drut, system przygotowuje ci plik np. robisz drukuj do pliku, ty potem cały plik przesyłasz po tcp do portu drukarki.
Ona po chwili startuje i drukuje.

W przypadku bluetooth pewnie było by tak samo, dostaniesz plik, który jest w formacie drukarki, potem robisz sparowanie z bluetooth i prawdopodobnie raw dane możesz przesłać, np. takie urządzenia bt can do samochodu to one robią bluetooth połączenie, potem robisz na tym połączeniu serial kommunikację i wysyłasz komendy at.
Nie patrzyłem na drukarkę, ale pewnie będzie tak samo jak na wifi czyli surowe dane przesyłasz ten plik i tyle, po chwili wystartuje drukarka i to wydrukuje.
Surowe dane nie mam na myśli pixeli, tylko ten format co ci system wygeneruje i często nazwa drukarki musi być poprawna bo ona potem nie wystartuje.

edytowany 1x, ostatnio: .GodOfCode.
cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 24 godziny
  • Lokalizacja:Poznań
  • Postów:8759
0

OK, a pytanie - w czym przeszkadza dostęp do lokalizacji? Nie można po prostu dać uprawnienia aplikacji i po temacie?
Ewentualnie zainstalować jakąś apkę, która podaje fikcyjną lokalizację - jeśli z jakiegoś powodu nie chcesz pokazywać, gdzie firma jest zlokalizowana (chociaż to już jest jak dla mnie syndrom mocno uwierającej foliowej czapeczki).


Zobacz pozostały 1 komentarz
cerrato
@hawus: nie dam się sprowokować :P
HA
Hm? To żadna prowokacja. Możesz mieć inne zdanie, ale ja bardzo sobie cenię to, że każda apka musi mnie zapytać o zgodę na śledzenie, używanie powiadomień, lokalizacji czy czytanie SMSów. A jak którejś z tych zgód nie wyrażę, to apka i tak musi działać na tyle, na ile może.
cerrato
No a jak jest na Adroidzie? Zwłaszcza tych nowszych - pyta o pozwolenia, można zezwolić na zawsze albo tylko jednorazowo ("tylko tym razem" czy jakoś tak to brzmi, nie pamiętam dokładnie).
HA
No widocznie tak jest, że OP nie może używać drukarki jak nie pozwoli apce śledzić jego położenia. W App Storze taka apka by nie przeszła review.
cerrato
@hawus: kilka postów niżej @Sensacyjny Sebastian bardzo fajnie wyjaśnił, z czego (prawdopodobnie) ten dostęp do lokalizacji wynika - Drukowanie z Android na drukarkę mobilną poprzez BT, a lokalizacja urządzenia.
HA
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 19 godzin
  • Postów:69
0

Pytanie laika: czy da się tak napisać aplikacje by możliwy był wydruk bez potrzeby używania lokalizacji?

Pytanie co to za drukarka, może (chyba) mieć jakiś własnościowy, zamkięty protokół i bez RE nic z tym nie zrobisz, a nawet jak zrobisz, to każda aktualizacja softu drukarki może zepsuć twoje rozwiązanie.

Natomiast jeśli drukarka wspiera Androida natywnie, to właściwie wystarczy w apce wygenerować PDFa, a resztą zajmie się OS.

ST
  • Rejestracja:ponad 4 lata
  • Ostatnio:6 miesięcy
  • Postów:9
0
cerrato napisał(a):

OK, a pytanie - w czym przeszkadza dostęp do lokalizacji? Nie można po prostu dać uprawnienia aplikacji i po temacie?
Ewentualnie zainstalować jakąś apkę, która podaje fikcyjną lokalizację - jeśli z jakiegoś powodu nie chcesz pokazywać, gdzie firma jest zlokalizowana (chociaż to już jest jak dla mnie syndrom mocno uwierającej foliowej czapeczki).

Przeszkadza w drukowaniu. Jeśli aplikacja nie ma dostępu do lokalizacji, bo nie ma zasięgu/jestem w budynku gdzie jej nie ma , nie chce drukować . Drukujemy np fakturę za usługę, klient czeka na dokument a tu nie drukuje. Pracownik wsiada w auto, przejeżdża kilometr i program zaczyna drukować to co wysłano na drukarkę, trzeba wrócić do klienta z dokumentem.

hawus napisał(a):

Pytanie laika: czy da się tak napisać aplikacje by możliwy był wydruk bez potrzeby używania lokalizacji?

Pytanie co to za drukarka, może (chyba) mieć jakiś własnościowy, zamkięty protokół i bez RE nic z tym nie zrobisz, a nawet jak zrobisz, to każda aktualizacja softu drukarki może zepsuć twoje rozwiązanie.

Natomiast jeśli drukarka wspiera Androida natywnie, to właściwie wystarczy w apce wygenerować PDFa, a resztą zajmie się OS.

Do drukarki wysyłamy tekst , nie generujemy PDF

edytowany 1x, ostatnio: cerrato
cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 24 godziny
  • Lokalizacja:Poznań
  • Postów:8759
0

Jeśli aplikacja nie ma dostępu do lokalizacji, bo nie ma zasięgu/jestem w budynku gdzie jej nie ma , nie chce drukować . Drukujemy np fakturę za usługę, klient czeka na dokument a tu nie drukuje. Pracownik wsiada w auto, przejeżdża kilometr i program zaczyna drukować to co wysłano na drukarkę, trzeba wrócić do klienta z dokumentem.

No to ponawiam - można zainstalować apkę pozorującą lokalizację - ustawiasz sobie jakieś miejsce, które ma wskazywać i inne aplikacje gdy korzystają z GPS to dostają właśnie taką pozycję. Wydaje mi się, że w podanym przypadku jest to najprostsze rozwiązanie.


Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:około godziny
  • Postów:6626
0
Stratoliner napisał(a):

Przeszkadza w drukowaniu. Jeśli aplikacja nie ma dostępu do lokalizacji, bo nie ma zasięgu/jestem w budynku gdzie jej nie ma , nie chce drukować .

Trzeba wtedy stanąć przy oknie...


🕹️⌨️🖥️🖱️🎮
ST
  • Rejestracja:ponad 4 lata
  • Ostatnio:6 miesięcy
  • Postów:9
0
cerrato napisał(a):

Jeśli aplikacja nie ma dostępu do lokalizacji, bo nie ma zasięgu/jestem w budynku gdzie jej nie ma , nie chce drukować . Drukujemy np fakturę za usługę, klient czeka na dokument a tu nie drukuje. Pracownik wsiada w auto, przejeżdża kilometr i program zaczyna drukować to co wysłano na drukarkę, trzeba wrócić do klienta z dokumentem.

No to ponawiam - można zainstalować apkę pozorującą lokalizację - ustawiasz sobie jakieś miejsce, które ma wskazywać i inne aplikacje gdy korzystają z GPS to dostają właśnie taką pozycję. Wydaje mi się, że w podanym przypadku jest to najprostsze rozwiązanie.

Znasz taka aplikację?

loza_prowizoryczna
  • Rejestracja:ponad 2 lata
  • Ostatnio:4 dni
  • Postów:1592
0
cerrato napisał(a):

No to ponawiam - można zainstalować apkę pozorującą lokalizację - ustawiasz sobie jakieś miejsce, które ma wskazywać i inne aplikacje gdy korzystają z GPS to dostają właśnie taką pozycję. Wydaje mi się, że w podanym przypadku jest to najprostsze rozwiązanie.

Jak aplikacja jest napisana z głową to wykryje różnice BTS/Wifi triangulation a GPSem i zwróci nędzne accuracy albo error.

Pozostaje ci jedynie root i zainstalowanie jakiegoś modułu z fejkowym GPSem.


Przetrzyma wszystko
Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:około godziny
  • Postów:6626
0

A może by tak skontaktować się z Google (zgłosić aplikację w sklepie) i developerem aplikacji?


🕹️⌨️🖥️🖱️🎮
edytowany 1x, ostatnio: Spine
dalbajob
  • Rejestracja:prawie 2 lata
  • Ostatnio:3 miesiące
  • Postów:149
0

Serio ta drukarka nie ma sterowników na PC / Mac / Linux? Nie możecie po prostu np. podpiąć drukarkę do jakiegoś serwera w firmie, skonfigurować CUPS i udostępnić ją w sieci?

cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 24 godziny
  • Lokalizacja:Poznań
  • Postów:8759
0
Stratoliner napisał(a):
cerrato napisał(a):

Jeśli aplikacja nie ma dostępu do lokalizacji, bo nie ma zasięgu/jestem w budynku gdzie jej nie ma , nie chce drukować . Drukujemy np fakturę za usługę, klient czeka na dokument a tu nie drukuje. Pracownik wsiada w auto, przejeżdża kilometr i program zaczyna drukować to co wysłano na drukarkę, trzeba wrócić do klienta z dokumentem.

No to ponawiam - można zainstalować apkę pozorującą lokalizację - ustawiasz sobie jakieś miejsce, które ma wskazywać i inne aplikacje gdy korzystają z GPS to dostają właśnie taką pozycję. Wydaje mi się, że w podanym przypadku jest to najprostsze rozwiązanie.

Znasz taka aplikację?

Pierwszy artykuł z brzegu w tej sprawie - https://www.purepc.pl/jak-ustawic-inna-lokalizacje-gps-na-telefonie-android


KE
  • Rejestracja:około 6 lat
  • Ostatnio:3 minuty
  • Postów:661
1

Mam w firmie dedykowaną aplikację , która umożliwia wydruk ze smartfona na drukarkę mobilna poprzez BT.

Znacząco pomogłoby, jakbyś wspomniał, co to za aplikacja i co to za drukarka. Zakładam, że ta drukarka ma tylko BT - nie ma wifi/sieci/usb?

Sensacyjny Sebastian
  • Rejestracja:ponad 5 lat
  • Ostatnio:15 dni
  • Postów:382
3
Stratoliner napisał(a):

Pytanie laika: czy da się tak napisać aplikacje by możliwy był wydruk bez potrzeby używania lokalizacji?

Krótki opis obsługi uprawnień do Bluetooth w Androidzie można znaleźć tutaj: https://developer.android.com/develop/connectivity/bluetooth/bt-permissions

W dużym skrócie - zależy, dla jakiej wersji Androida aplikacja została napisana. Na nowych Androidach (12+) uprawienia Bluetooth zostały rozbite na podgrupy. Poprzednio całe BT było schowane za pojedynczym uprawnieniem. Co to ma do lokalizacji? Na podstawie listy widocznych urządzeń BT można próbować zgadnąć lokalizację użytkownika; stąd też wyszukiwanie widocznych urządzeń wymagało w starszych Androidach uprawnień do lokalizacji. Apki dla nowych Andków potrzebują uprawnienia do lokalizacji tylko, jeśli faktycznie interesują je beacony; bez tego dostaną okrojoną listę urządzeń w pobliżu.

ST
  • Rejestracja:ponad 4 lata
  • Ostatnio:6 miesięcy
  • Postów:9
0
Sensacyjny Sebastian napisał(a):

Krótki opis obsługi uprawnień do Bluetooth w Androidzie można znaleźć tutaj: https://developer.android.com/develop/connectivity/bluetooth/bt-permissions

Dziękuje tego szukałem!

edytowany 1x, ostatnio: cerrato
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)