有一次,我的应用程序需要打开一个电子邮件客户端。

我发送意向将其打开,并且一切正常。

但是,当用户没有安装电子邮件客户端时,他们会收到“不支持的操作”错误消息。

有没有一种方法可以在用户收到该错误时进行捕获,以便我可以给他们一个对话框,指示他们安装gmail?

最佳答案

我认为这只会在官方的Android模拟器上发生;由于某种原因,他们将活动解析为com.android.fallback.Fallback活动,该活动显示此神秘消息。

您可以通过运行以下代码来捕获这种情况:

ComponentName emailApp = intent.resolveActivity(getPackageManager());
ComponentName unsupportedAction = ComponentName.unflattenFromString("com.android.fallback/.Fallback");
boolean hasEmailApp = emailApp != null && !emailApp.equals(unsupportedAction);

10-04 14:10