Come verificare se il microfono viene utilizzato da qualsiasi applicazione di background

Ho cercato per due giorni e non sono riuscito a trovare una soluzione adeguata.

Sto cercando di verificare se alcuna applicazione in background utilizza il microfono, quindi la mia applicazione può utilizzarlo, altrimenti voglio solo visualizzare il messaggio "Microfono in uso da un'altra applicazione".

  • Android Studio - Imansible risolvere il simbolo 'firebase'
  • Come modificare la dimensione del carattere di tabhost in android
  • Actionbarsherlock - modifica il colore della linea di azione
  • Studio Android con gradile sperimentale 0.2.0
  • Come faccio a leggere il contenuto del file dalla memory interna - Android App
  • Android getActivity () non è definito
  • Ho provato a controllare tutte le applicazioni in background e le loro autorizzazioni, ma che non risolve il mio problema, in quanto c'è il pacchetto wearable.app che richiede le autorizzazioni ma non influenza l'audio o non lo usa.

    Ho provato le altre soluzioni che ho potuto trovare qui o su google, ma nessuno di questi sembra essere il modo giusto.

    Voglio solo verificare se il microfono non viene utilizzato, quindi la mia applicazione può utilizzarlo.

    Qualsiasi suggerimento che apprezzerò.

    2 Solutions collect form web for “Come verificare se il microfono viene utilizzato da qualsiasi applicazione di background”

    Dopo aver cercato di più ho trovato la soluzione e lo sto aggiungendo qui per chiunque abbia bisogno di trovarlo più facile.

    private boolean validateMicAvailability(){ Boolean available = true; AudioRecord recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, 44100, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_DEFAULT, 44100); try{ if(recorder.getRecordingState() != AudioRecord.RECORDSTATE_STOPPED ){ available = false; } recorder.startRecording(); if(recorder.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING){ recorder.stop(); available = false; } recorder.stop(); } finally{ recorder.release(); recorder = null; } return available; } 

    Puoi farlo l'altro.

    Prendi il microfono nella tua app.

    Ottieni un elenco delle applicazioni installate, che dispongono di un permesso di logging.

    Quindi controllare se una di queste applicazioni è in primo piano e se c'è una release del microfono in modo che l'altra applicazione possa utilizzarlo (ad esempio quando si verifica una chiamata).

    Un po 'pratica sporca ma penso che sia quello che stai cercando.

    Saluti!

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.