2013-03-14 7 views
12

Alcuni dispositivi (come Samsung Galaxy S3) sono preinstallati con Samsung powered by Vlingo anziché Google Voice Search.Come sovrascrivere a livello di codice "Ricerca vocale Google" su "Samsung powered by Vlingo"?

Nella mia app, desidero sovrascrivere a livello di programmazione il tipo di riconoscimento vocale , in modo che Google Voice Search venga sempre utilizzato dalla mia app.

Quindi le mie domande sono:

  1. C'è un modo per dire che il discorso riconoscimento motori sono installati ? (Se sì, come?)
  2. C'è un modo per dire quale riconoscimento vocale riconoscimento è selezionato nelle impostazioni utente? (Se sì, come?)
  3. Esiste un modo programmatico per la selezione di override dell'utente, in modo che la mia app sempre invoca Google Voice Search? (Se sì, come?)

aiuto sarà apprezzato

+2

Sembra che io non sia l'unico a cercare una soluzione. [Questo] (http://www.android.net/forum/introductions-site-assistance/76895-replace-vlingo-back-google-voice-search.html) senza alcun risultato. Ma [questo] (http://androidforums.com/samsung-galaxy-s2-international/540153-finally-remove-vlingo-voiceo-voiceo-voice-command-without-root-ics-only.html) sembra essere riuscito a disinstallare come un utente. Tuttavia, preferisco un modo per raggiungere a livello programmatico quello che voglio senza disinstallare * "Samsung powered by Vlingo" *. –

+1

Non penso che tu possa farlo. La soluzione Samsung sta già programmando automaticamente il tuo: P – slezica

risposta

5

La risposta a tutte le vostre domande è "sì".

createSpeechRecognizer può essere assegnato il nome del pacchetto del riconoscimento da utilizzare. Quindi, se si conosce il nome del pacchetto, è possibile sovrascrivere il valore predefinito.

Per rilevare i servizi disponibili, utilizzare:

List<ResolveInfo> services = 
    getPackageManager().queryIntentServices(
     new Intent(RecognitionService.SERVICE_INTERFACE), 0); 

Per maggiori dettagli studiare il codice sorgente di Babble. Non so se questo è il modo migliore per farlo (qualsiasi commento è benvenuto) ma ha funzionato sui miei dispositivi. (Babble in generale presuppone Android 4+, ma la parte di riconoscimento del riconoscimento vocale potrebbe funzionare anche su versioni precedenti.)