Check TTS von Service aus

FelixL

FelixL

Ehrenmitglied
821
Um zu überprüfen, ob auf dem Gerät Text To Speech verfügbar ist, gibt es diesen Intent:

Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);

Dummerweise ist startActivityForResult nur in Activities implementiert. Gibt es einen Weg, die Abfrage auch von einem Service aus zu machen?
 
Hi,
wenn du's nur pruefen willst:
final PackageManager pm = getApplicationContext().getPackageManager();
List<ResolveInfo> list = pm.queryIntentActivities(checkIntent,PackageManager.MATCH_DEFAULT_ONLY);
for(int i = 0; i < list.size();i++){
ResolveInfo info = list.get(i);
Log.v("****",info.activityInfo.packageName");
}
Gruss unfug
 
  • Danke
Reaktionen: FelixL
Verstehe ich das richtig, das list.size()==0 ist, sobald kein TTS verfügbar ist?
Großen dank dafür, werde das nachher testen...muss erst mal rausfinden wie ich TTS deinstalliere ohne was kaputt zu machen :D
 
Verstehe ich das richtig, das list.size()==0 ist, sobald kein TTS verfügbar ist?
Jepp.
Es koennen unter Umstaenden mehrere Activities fuer die Action verfuegbar sein, deshalb kann die Liste mehrere Eintrage haben.

Probiers doch mit dem Emulator.

Gruss unfug
 
Wollte es auf 2.2 testen, aber der hat TTS vorinstalliert. Hab es jetzt geschafft, es von meinem Hero zu schmeißen, dein Ding da funktioniert schonmal. Danke :)
 
Okay, es funktioniert logischerweise nicht.

Bei der offiziellen Version (siehe erster Post) käme es zu einem FC wenn niemand den Intent annehmen könnte wenn TTS nicht installiert ist. Der Teil, der für TTS zuständig ist, gibt dann eine Antwort zurück, die quasi "Nein, TTS ist nicht installiert" bedeutet. Sprich die App selbst ist immer da, lädt sich bei der Installation nur noch die Daten runter die sie braucht. Sprich die packetmanagermethode gibt immer "true" zurück. Bei mir hat es gestern nur funktioniert weil ich es unsauber deinstalliert hab ;)
 

Ähnliche Themen

R
  • Robby1950
2
Antworten
23
Aufrufe
1.016
Robby1950
R
S
Antworten
17
Aufrufe
554
jogimuc
J
B
Antworten
6
Aufrufe
1.051
jogimuc
J
Zurück
Oben Unten