1

我有一个 TextView,它有一个自动链接的地址,这样点击它就会在地图或其他应用程序(例如 Google 地球)中打开地址。当您安装了地图应用程序时,它可以正常工作。我第一次在模拟器上尝试点击链接时,应用程序崩溃了,因为它找不到任何活动来处理链接。

截取链接并检查是否有合适的处理程序可用的最佳方法是什么,如果没有,我可以弹出一个很好的通知,将他们带到 Play 商店安装 Google 地图?

4

1 回答 1

0

这不仅仅是是否安装了地图应用程序的问题——在 Android 4.3+ 中使用受限配置文件,地图应用程序可能已安装但当前用户无法使用。

现在,在它们修复之前URLSpan,您需要URLSpan用自己的子类批量替换实例,如StackOverflow 答案中所述。您的子类可以覆盖onClick(View)并链接到ActivityNotFoundException try/catch块内的超类,然后在这种情况下您可以在其中执行某些操作。

如果您是手动运行,则可以在完成工作Linkify后进行修复。Linkify如果您正在使用android:autoLink,我认为您可以在setText()通话后解决问题,但可能需要稍晚一些,因为我忘记了TextView它的内部Linkify通话确切时间。

于 2013-10-22T14:57:16.253 回答