2016-05-12 14 views
2

In meiner Android-App, ich eine Benachrichtigung mit Verschleißfunktionen erstellen und eine Aktion hinzufügen, um die Spracheingabe zu erkennen und senden Sie den Sprachtext zu einer anderen Aktivität. Mein Problem ist es nur die ausgewählte Sprache in google jetzt Einstellungen zu erkennen (Englisch) und ich möchte eine Stimme aus der persischen Sprache bekommen. Das ist mein Code:Ändern Sie die Sprache der Spracherkennung in Android Verschleiß Aktion

RemoteInput remoteInput = new RemoteInput.Builder("My_Const_String") 
    .setLabel("label when you talk") 
    .build(); 

Intent replayIntent = new Intent(context, MyTestActivity.class); 
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, replayIntent, PendingIntent.FLAG_UPDATE_CURRENT); 
NotificationCompat.Action action = new NotificationCompat.Action.Builder(
     R.drawable.ic_btn, "Label when confirm your talk", pendingIntent) 
     .addRemoteInput(remoteInput) 
     .build(); 

NotificationCompat.Builder builder = new NotificationCompat.Builder(context); 
builder.setContentTitle("Title") 
    .setContentText("Content text") 
    .setSmallIcon(R.drawable.ic_stat_name) 
    .setContentText("My text02"); 

NotificationCompat.WearableExtender extender = 
     new NotificationCompat.WearableExtender(); 

extender.addAction(action); 
builder.extend(extender); 

NotificationManagerCompat mgr = NotificationManagerCompat.from(context); 
int NotificatinId = 1; 
mgr.notify(NotificatinId, builder.build()); 

Auch möchte ich nicht den Benutzer zwingen, die Einstellungen von Google jetzt manuell zu ändern. Ich habe versucht, zusätzliche wie unten hinzuzufügen, aber es hat nicht funktioniert:

Intent i = new Intent(); 
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, "fa_IR"); 
i.putExtra(RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES, "fa_IR"); 
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "fa"); 
Bundle bundle = new Bundle(); 
bundle = i.getExtras(); 

RemoteInput remoteInput = new RemoteInput.Builder("My_Const_String") 
    .setLabel("label when you talk") 
    .addExtras(bundle) 
    .build(); 

Antwort

-1

Es funktioniert gut mit Französisch und Russisch. Ich denke Persian nicht unterstützt jetzt. Sehen Sie sich den Abschnitt "Sprachen, die mit Stimmen arbeiten" an.

+0

Persisch und Farsi sind beide gleich und es wird von Google unterstützt. Auf Ihrem Telefon in "Google App> Einstellungen> Sprache> Sprachen" haben Sie nur Englisch überprüfen oder Sie haben auch andere Sprachen überprüft? –

Verwandte Themen