J'utilise Android pour activer mon application S Voice dans Android. Comme les travaux antérieurs, je vais utiliser le suit code pour activer ceComment déterminer/obtenir le bon paquet S Voice dans Android
String SVOICE_PACKAGE_NAME = "com.vlingo.midas";
String SVOICE_LISTEN_ACTION = "com.sec.action.SVOICE";
Intent intent = new Intent();
intent.setPackage(SVOICE_PACKAGE_NAME);
intent.setAction(SVOICE_LISTEN_ACTION);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
try {
getApplication().startActivity(intent);
} catch (final ActivityNotFoundException e) {
e.printStackTrace();
} catch (final Exception e) {
e.printStackTrace();
}
Le code ci-dessus a bien fonctionné dans Galaxy S4 avec Android 5.0. Cependant, le problème vient des premières et deuxièmes lignes dans Galaxy S7 avec Android 6.0. Dans S7 Galaxy avec Android 6.0, les première et deuxième lignes doivent modifier comme
SVOICE_PACKAGE_NAME = "com.samsung.voiceserviceplatform";
SVOICE_LISTEN_ACTION = "com.sec.action.SVOICE";
Et aussi le nom de l'application S voix à l'évolution de la "S Voice" à "S App Voice". Ce changement me donne un travail difficile. Par conséquent, je veux déterminer l'application S Voice dans mon téléphone avant de décider de ces appels. Actuellement, je ne sais pas le changement est de la version Android ou l'appareil. Pourriez-vous avoir une idée d'adapter le problème dans différents téléphones: S4 et S7?
Pourriez-vous vérifier simplement quel paquet est installé avant d'envoyer l'intention? – brandall
En fait, j'ai juste une entrée est "ouvrir S Voice", puis l'application doit activer l'application S Voice. Ainsi, nous ne pouvons pas vérifier le nom du paquet manuellement. – Jame
L'entrée pourrait être «saucisses», il ne restreint pas le code que vous écrivez une fois que vous le détecter ....? – brandall