[{"data":1,"prerenderedAt":460},["ShallowReactive",2],{"navigation":3,"/blog/qrcode-scanner":22,"/blog/qrcode-scanner-surround":456},[4],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Blog","/blog","blog",[9,13,17],{"title":10,"path":11,"stem":12},"Desafios dos Programadores Iniciantes em Moçambique ao Criar Backends para APIs de Pagamentos M-Pesa","/blog/mpesa-api-starter","blog/mpesa-api-starter",{"title":14,"path":15,"stem":16},"Ofuzah - Bloqueie o Acesso à Internet de Qualquer Aplicação no Windows com Um Clique","/blog/ofuzah-internet-blocker","blog/ofuzah-internet-blocker",{"title":18,"path":19,"stem":20},"QR Code Scanner: Um Leitor de QR Codes e Códigos de Barras Grátis e Sem Anúncios","/blog/qrcode-scanner","blog/qrcode-scanner",false,{"id":23,"title":18,"author":24,"body":28,"date":447,"description":448,"extension":449,"image":450,"meta":451,"minRead":452,"navigation":453,"path":19,"seo":454,"stem":20,"__hash__":455},"blog/blog/qrcode-scanner.md",{"name":25,"avatar":26},"Albino T. Calbe",{"src":27,"alt":25},"/profile.png",{"type":29,"value":30,"toc":428},"minimark",[31,44,55,58,61,66,71,74,78,81,85,88,92,95,97,101,110,129,131,133,138,142,145,161,164,168,175,189,195,199,206,228,235,239,250,268,272,275,294,301,305,315,319,339,341,345,352,355,374,377,379,383,404,408,411,416,419],[32,33,34,35,39,40,43],"p",{},"Ler um ",[36,37,38],"strong",{},"QR Code"," devia ser a coisa mais simples do mundo: apontar a câmara, ver o conteúdo, seguir em frente. Mas quem já procurou um leitor na Play Store ou na App Store sabe que a realidade é outra. A maioria dos apps gratuitos está cheia de ",[36,41,42],{},"anúncios em ecrã inteiro",", banners que tapam a câmara, pedidos de subscrição e permissões que não fazem sentido nenhum para um simples leitor.",[32,45,46,47,50,51,54],{},"Foi por isso que criei o ",[36,48,49],{},"QR Code Scanner",": um leitor de QR Codes e códigos de barras ",[36,52,53],{},"100% grátis, sem anúncios"," e focado apenas em fazer bem o seu trabalho.",[32,56,57],{},"Neste artigo, apresento o app, os seus recursos e o porquê de ter decidido mantê-lo livre de publicidade.",[59,60],"hr",{},[62,63,65],"h2",{"id":64},"o-problema-dos-leitores-grátis","O Problema dos Leitores \"Grátis\"",[67,68,70],"h3",{"id":69},"_1-anúncios-em-todo-o-lado","1. Anúncios em Todo o Lado",[32,72,73],{},"Em muitos leitores, cada leitura vem acompanhada de um anúncio. Às vezes é preciso esperar alguns segundos, ou encontrar um \"X\" minúsculo, só para ver o conteúdo de um código que já foi lido.",[67,75,77],{"id":76},"_2-permissões-exageradas","2. Permissões Exageradas",[32,79,80],{},"Um leitor de QR Codes precisa da câmara. Não precisa da sua localização, dos seus contactos nem de acesso permanente à internet para lhe mostrar publicidade.",[67,82,84],{"id":83},"_3-dados-enviados-para-terceiros","3. Dados Enviados para Terceiros",[32,86,87],{},"Os códigos que lemos dizem muito sobre nós: os sites que visitamos, as redes Wi-Fi a que nos ligamos, os produtos que compramos. Em apps sustentados por publicidade, essa informação tem valor comercial.",[67,89,91],{"id":90},"_4-interfaces-confusas","4. Interfaces Confusas",[32,93,94],{},"Menus escondidos, botões de \"Premium\" em destaque e ecrãs carregados tornam uma tarefa de dois segundos numa experiência frustrante.",[59,96],{},[62,98,100],{"id":99},"a-solução-qr-code-scanner","A Solução: QR Code Scanner",[32,102,103,104,106,107],{},"O ",[36,105,49],{}," foi pensado para ser o oposto disso tudo. Abre direto na câmara, lê o código e mostra o resultado. ",[36,108,109],{},"Sem anúncios, sem conta, sem pagamentos.",[32,111,112,113,116,117,120,121,124,125,128],{},"O app foi desenvolvido com ",[36,114,115],{},"Expo"," e ",[36,118,119],{},"React Native",", por isso funciona de forma nativa tanto em ",[36,122,123],{},"Android"," como em ",[36,126,127],{},"iOS",".",[59,130],{},[59,132],{},[134,135,137],"h1",{"id":136},"recursos-do-app","Recursos do App",[62,139,141],{"id":140},"_1-dois-modos-de-leitura","1. Dois Modos de Leitura",[32,143,144],{},"No topo do ecrã, pode alternar entre dois modos, consoante o que pretende ler:",[146,147,148,155],"ul",{},[149,150,151,154],"li",{},[36,152,153],{},"QR Code:"," lê QR Codes, Data Matrix, Aztec e PDF417.",[149,156,157,160],{},[36,158,159],{},"Código de Barras:"," lê EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, Code 93, ITF-14 e Codabar, os formatos que encontramos em produtos de supermercado, livros, caixas e etiquetas.",[32,162,163],{},"Separar os modos torna a leitura mais rápida e evita que a câmara apanhe o código errado quando há vários por perto.",[62,165,167],{"id":166},"_2-leitura-a-partir-da-galeria","2. Leitura a Partir da Galeria",[32,169,170,171,174],{},"Recebeu um QR Code numa imagem pelo WhatsApp? Tirou um print de um código? Não precisa de outro telemóvel para o ler. Basta tocar em ",[36,172,173],{},"\"Da galeria\"",", escolher a foto, e o app procura o código na imagem.",[146,176,177,183],{},[149,178,179,180,182],{},"No ",[36,181,123],{},", lê todos os formatos suportados.",[149,184,179,185,188],{},[36,186,187],{},"iPhone",", lê QR Codes (limitação do próprio sistema iOS).",[32,190,191,192,128],{},"E tudo isto funciona ",[36,193,194],{},"offline",[62,196,198],{"id":197},"_3-resultado-claro-e-fácil-de-copiar","3. Resultado Claro e Fácil de Copiar",[32,200,201,202,205],{},"Quando um código é detetado, o resultado aparece numa ",[36,203,204],{},"folha inferior nativa"," com:",[146,207,208,219,222],{},[149,209,210,211,214,215,218],{},"O tipo de código lido (por exemplo, ",[212,213,38],"em",{}," ou ",[212,216,217],{},"EAN-13",");",[149,220,221],{},"O conteúdo completo, que pode ser selecionado;",[149,223,224,225,128],{},"Um botão para ",[36,226,227],{},"copiar para a área de transferência",[32,229,230,231,234],{},"O app ",[36,232,233],{},"não abre links automaticamente",". Mostra-lhe primeiro o conteúdo, para que possa decidir o que fazer com ele. É uma pequena proteção contra QR Codes maliciosos colados em locais públicos.",[62,236,238],{"id":237},"_4-histórico-de-leituras","4. Histórico de Leituras",[32,240,241,242,245,246,249],{},"Todas as leituras ficam guardadas num ",[36,243,244],{},"histórico local",", com as ",[36,247,248],{},"últimas 100 leituras"," organizadas por data (\"Hoje\", \"Ontem\", etc.).",[146,251,252,255,262],{},[149,253,254],{},"Se ler de novo um código que já está no histórico, ele passa para o topo da lista em vez de ficar duplicado.",[149,256,257,258,261],{},"Pode ",[36,259,260],{},"limpar o histórico"," a qualquer momento.",[149,263,264,265,128],{},"O histórico fica guardado ",[36,266,267],{},"apenas no seu dispositivo",[62,269,271],{"id":270},"_5-controlos-da-câmara","5. Controlos da Câmara",[32,273,274],{},"Para os códigos mais difíceis de ler:",[146,276,277,283,289],{},[149,278,279,282],{},[36,280,281],{},"Lanterna"," para ambientes com pouca luz;",[149,284,285,288],{},[36,286,287],{},"Zoom"," de 1x, 2x e 3x para códigos pequenos ou distantes;",[149,290,291,128],{},[36,292,293],{},"Troca entre câmara traseira e frontal",[32,295,296,297,300],{},"Também é possível ",[36,298,299],{},"pausar a leitura"," e retomá-la com um toque.",[62,302,304],{"id":303},"_6-português-e-inglês","6. Português e Inglês",[32,306,307,308,116,311,314],{},"O app usa automaticamente o idioma do seu telemóvel, mas pode trocar entre ",[36,309,310],{},"português",[36,312,313],{},"inglês"," diretamente no app, sem ir às definições do sistema.",[62,316,318],{"id":317},"_7-detalhes-que-fazem-diferença","7. Detalhes que Fazem Diferença",[146,320,321,327,333],{},[149,322,323,326],{},[36,324,325],{},"Vibração (feedback háptico)"," quando um código é detetado;",[149,328,329,332],{},[36,330,331],{},"Animações suaves"," que respeitam a opção \"reduzir movimento\" do sistema, para quem é sensível a animações;",[149,334,335,338],{},[36,336,337],{},"Tema escuro",", confortável para os olhos e para a bateria.",[59,340],{},[134,342,344],{"id":343},"grátis-sem-anúncios-e-privado","Grátis, Sem Anúncios e Privado",[32,346,347,348,351],{},"Este é o ponto mais importante: o ",[36,349,350],{},"QR Code Scanner é totalmente gratuito e não tem anúncios",". Não há versão \"Premium\", não há funcionalidades bloqueadas e não há publicidade escondida.",[32,353,354],{},"Além disso:",[146,356,357,362,368],{},[149,358,359],{},[36,360,361],{},"Não precisa de criar conta.",[149,363,364,367],{},[36,365,366],{},"Não faz pedidos à internet."," O app não envia os seus dados para nenhum servidor.",[149,369,370,373],{},[36,371,372],{},"Só pede as permissões necessárias:"," a câmara, para ler códigos, e o acesso às fotos, apenas quando escolhe ler a partir da galeria.",[32,375,376],{},"Os códigos que lê são seus e ficam no seu telemóvel.",[59,378],{},[134,380,382],{"id":381},"onde-descarregar","Onde Descarregar",[146,384,385,396],{},[149,386,387,390,391],{},[36,388,389],{},"Android:"," ",[392,393,395],"a",{"href":394},"#","Google Play Store",[149,397,398,390,401],{},[36,399,400],{},"iOS:",[392,402,403],{"href":394},"App Store",[134,405,407],{"id":406},"minha-conclusão","Minha Conclusão",[32,409,410],{},"Nem todas as ferramentas precisam de ser um negócio. Um leitor de QR Codes é algo que usamos no dia a dia, em restaurantes, lojas, eventos ou para partilhar uma rede Wi-Fi, e merece ser simples, rápido e respeitar quem o usa.",[32,412,103,413,415],{},[36,414,49],{}," nasceu dessa ideia: fazer uma coisa e fazê-la bem, sem distrações e sem anúncios.",[32,417,418],{},"Se experimentar o app, deixe a sua opinião. O feedback de quem o usa é o que me ajuda a melhorá-lo.",[32,420,423,427],{"align":421,"style":422},"right","font-size: 12px;",[424,425,426],"i",{}," texto aprimorado por IA","🤖",{"title":429,"searchDepth":430,"depth":430,"links":431},"",2,[432,439,440,441,442,443,444,445,446],{"id":64,"depth":430,"text":65,"children":433},[434,436,437,438],{"id":69,"depth":435,"text":70},3,{"id":76,"depth":435,"text":77},{"id":83,"depth":435,"text":84},{"id":90,"depth":435,"text":91},{"id":99,"depth":430,"text":100},{"id":140,"depth":430,"text":141},{"id":166,"depth":430,"text":167},{"id":197,"depth":430,"text":198},{"id":237,"depth":430,"text":238},{"id":270,"depth":430,"text":271},{"id":303,"depth":430,"text":304},{"id":317,"depth":430,"text":318},"2026-10-14T00:00:00.000Z","Conheça o QR Code Scanner, um app para Android e iOS que lê QR Codes e códigos de barras sem anúncios, sem conta e sem enviar os seus dados para lado nenhum.","md","/qrcode-scanner.webp",{},6,true,{"title":18,"description":448},"z4X2QeZwgl3wTKTA2Od1IbSRi1d9OizPn2mASgzxd30",[457,459],{"title":14,"path":15,"stem":16,"description":458,"children":-1},"Conheça o Ofuzah, um app grátis para Windows que permite bloquear ou permitir o acesso à Internet de cada aplicação, ideal para poupar dados móveis quando usa o hotspot do telemóvel.",null,1792227169675]