setOnClickFillInIntent错误处理

朱尼亚诺

我用集合视图制作了一个appWidget。为了处理集合视图的每个视图上的click事件,我使用了“ setPendingIntentTemplate”和“ setOnClickFillInIntent”。在正常情况下,它工作正常。通过在点击时发送意图来打开目标活动。但是,如果将无效的uri(它不是目标活动的有效uri,但在语法上,它是有效的uri)注入了它的意图,则小部件只是不处理click事件。它不会引发任何异常或返回任何错误。

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(link);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
view.setOnClickFillInIntent(R.id.image, intent);

是否有任何方法可以捕获此错误(由于意图无效的uri而未处理click事件)?-这样,我可以切换到不同的代码来处理这种情况。

朱尼亚诺

我可以从另一个论坛上获得该问题的解决方案,我也发布了相同的问题。

基本上,不可能对已经执行的Intent进行异常处理。

但是,有一种方法可以在添加PendingIntent之前检查目标是否存在目标组件(活动,服务或接收者)

getPackageManager().queryIntentActivities( intent, flags )

如果此方法返回一个空数组,则意味着该意图无法执行任何活动。使用此方法,可以确定是否添加PendingIntent。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章