Cas*_*ash 5 android android-intent
我试图通过Android开发者博客上的这篇文章来实现文本到语音.如果不支持,它建议使用以下代码来安装文本到语音数据.
Intent installIntent = new Intent();
installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
Run Code Online (Sandbox Code Playgroud)
这引发了Exception:
ActivityNotFoundException:找不到处理Intent的活动
但是,我在这里使用代码来确定实际支持的意图.这是列表表示:
[ResolveInfo{43cc5280 com.svox.pico.DownloadVoiceData p=0 o=0 m=0x108000}]
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?
更新
我不知道为什么,但它现在似乎有效.
要检查是否实际支持intent,请使用以下代码:
PackageManager pm = getPackageManager();
Intent installIntent = new Intent();
installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
ResolveInfo resolveInfo = pm.resolveActivity( installIntent, PackageManager.MATCH_DEFAULT_ONLY );
if( resolveInfo == null ) {
// Not able to find the activity which should be started for this intent
} else {
startActivity( installIntent );
}Run Code Online (Sandbox Code Playgroud)
如果无法使用resolveActivity()找到活动,则表示活动需要一些其他未提供的参数.在这种情况下,您应该使用queryIntentActivities()获取类名,并设置intent组件/类名.
| 归档时间: |
|
| 查看次数: |
2283 次 |
| 最近记录: |