Minpunto para el caballero!!!
Funciona perfecto en Android 4.2.2, Android 5.0.2 y android 6, esos son los dispositivos que tengo para hacer pruebas y en todas la versiones aparece como "android.intent.category.LAUNCHER" cuando se lanza de forma manual la app.
Muchas gracias de nuevo y un par de cervezas virtuales, algún día espero que podamos tomarlas de verdad en alguna
terraza.
Se me olvidó decirte que también creé un pequeño programa que llamaba al otro, y la respuesta era la misma que cuando lo lanzas desde el escritorio. Está claro que "OK Google" le añade un "extra" y ahí mete sus datos, le añadí un "extra" y le puse el mismo texto que "OK Google" pero añadiendo algo mas
y está claro que Google hace eso, pero tranquilo, que dudo que ninguna aplicación ponga los datos de google.
(Intent) Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10420000 pkg=bgs.pruebas1 cmp=bgs.pruebas1/.main (has extras) }
Bundle[{android.intent.extra.REFERRER_NAME=app://com.google.android.googlequicksearchbox/https/
www.google.com Prueba de envio de BGSoft ;-)}]
Nota: forcé este extra y puso lo mismo que pone OK Google
Creo que es muy indicativo que cuando ejecutas desde el lanzador o desde otro programa de un modo simple, el log (que te puse arriba)
Log(in) viene el texto "LAUNCHER", si la aplicación no añade un "extra" como "OK Google", el
Log(in.ExtrasToString) devuelve "no extras" (es lógico por no existir ningún extra), y por otro lado "OK Google" añade un extra y escriben "
com.google.android.googlequicksearchbox/https/www.google.com"
Asi que creo que si quieres asegurar que viene de google y hacer el código mas "robusto", quizás sea buscar en el "extra" el "
googlequicksearchbox" y que en el
Log(in) no exista
"LAUNCHER"
Lo de las cervezas por ahora son virtuales, pero me lo apunto para que sean "hard"
Saludos