Pular para conteúdo

Aula 13 - Sensores e Hardware 📸


📱 Além da Tela

O smartphone é um laboratório de sensores. Apps nativos têm "superpoderes" para sentir o mundo físico.

  • Onde eu estou? (GPS)
  • O que eu estou vendo? (Câmera)
  • Estou me movendo? (Acelerômetro)

🔑 O Porteiro: Permissões

No Android 6.0+, as permissões são dinâmicas.

  • Normais: Declaradas no Manifest (Internet, BT).
  • Perigosas: Pop-up em tempo de execução (GPS, Câmera, Microfone).

Sempre verifique se tem a permissão antes de usar o hardware! 🛡️


Pedindo Permissão (Moderno)

val launcher = registerForActivityResult(
    ActivityResultContracts.RequestPermission()
) { concedida ->
    if (concedida) { /* Use o hardware */ }
}

launcher.launch(Manifest.permission.CAMERA)

🗺️ Localização e GPS

Use o Fused Location Provider.

  • Por que? Ele mistura GPS, Wi-Fi e Células de rede.
  • Vantagem: Menos gasto de bateria e maior precisão.
  • Maps SDK: Exiba a localização visualmente.

📸 A Câmera com CameraX

Esqueça a dor de cabeça da Camera2 API.

  • Preview: Imagem em tempo real.
  • Capture: Tirar e salvar foto.
  • Analysis: Analisar frames (QR Code, IA).

🎢 Sensores de Movimento

Acelerômetro e Giroscópio.

  • Detectar o "Shake" (Balançar).
  • Rodar a tela automaticamente.
  • Realidade Aumentada (AR).

🔵 Bluetooth (Classic e BLE)

Conecte-se a tudo.

  • Classic: Som, Arquivos grandes.
  • BLE (Low Energy): Sensores, IoT, Smartwatches.
  • Eddystone/iBeacons: Localização interna por proximidade.

📞 Telefonia e SMS

Sim, ainda é um telefone!

  • SmsManager: Envie e receba mensagens programaticamente.
  • TelephonyManager: Saiba a operadora e o estado da rede.

Cuidado: O Google Play é muito rígido com permissões de SMS. ⚠️


🔐 Biometria Segura

Impressão digital e Rosto.

  • Use o BiometricPrompt.
  • Nunca guarde a digital do usuário! O sistema apenas diz "Confere" ou "Não Confere".

🆚 Android vs iOS (Hardware)

Recurso Android iOS
GPS Fused Location Core Location
Câmera CameraX AVFoundation
Sensores SensorManager Core Motion
Bluetooth BluetoothAdapter Core Bluetooth

🧬 Mermaid: Ciclo de Hardware

graph TD
    A[Usuário quer Foto] --> B{Tem Permissão?}
    B -- Não --> C[Pedir Permissão]
    C --> D{Aceitou?}
    D -- Não --> E[Mostrar Aviso]
    B -- Sim --> F[Abrir CameraX]
    D -- Sim --> F
    F --> G[Salvar Imagem]

🛠️ Prática: O Sensor de Luz

  1. Obtenha o SensorManager.
  2. Escolha o Sensor.TYPE_LIGHT.
  3. Se a luz baixar (colocar a mão sobre o sensor), mostre um aviso "Está escuro!".

🏁 Conclusão

  • Hardware exige permissão e cuidado.
  • CameraX e Fused Location são seus melhores amigos.
  • Respeite a bateria do usuário! Pare de ouvir sensores no onPause.

❓ Perguntas sobre Hardware?


Próxima Aula: Testes e Qualidade! 🐞👋