我能使用这个Intent吗?

这篇文章介绍了Android 系统中使用的Intent的一个技巧,收藏一下,以后可能用到。

 

原文: http://www.cnblogs.com/xirihanlin/archive/2010/04/12/1710163.html

 

Android 提供了一个非常强大且易于使用的消息类型: Intent 。你可以使用 Intent 来将应用程序变成一个高级的库,而且可以使代码模块化并可重用。例如, Android Home 画面和 AnyCut 应用程序,使用 Intent 来创建快捷方式。

能够使用这么低耦合的 API 固然很好,但是,无法保障你发出的 Intent 能够被其它应用程序接收。这种 情况一般在第三方程序中发生,像 Panoramio 和它的 RADAR Intent

这篇文章将描述一个技巧,通过这个技巧可以判断出系统中是否 有应用程序能响应你想使用的 Intent 。下面的例子给出了一个辅助的方法,它能通过 Package Manager 查询系统中是否有 app 能响应特定的 Intent 。你的应用程序程序可以传入一 个 Intent 到 这个方法中,然后,显示或隐藏用户可能会去触发这个 Intent 的用户选项(举例)。


这里给出了这个辅助方法使用的示例:


在这个例子中,如果 Barcode Scanner 应用程序未安 装的话,菜单项是置灰的。

另外,简单一些的方式是调用 startActivity() 时捕获 ActivityNotFoundException 异常,但这种方式只能在问题发生时进行处理,而不能事先相 应地更新 UI ,且不能阻止用户做无用的动作。这里描述的技巧还可以在启动的时候询问用户是否要安装缺少的 Package ,然后,通过相应的 URI ,引导用户去 Android Market 下载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值