如何自定义android chooser 应用选择器

本文介绍如何自定义Android的chooser应用选择器。首先,列出支持的应用市场列表,然后获取设备上所有满足特定URI条件的应用。两列表取交集并在选择器中展示。最后,判断chooser是否成功启动。代码中包含关键步骤,如设置intent,处理重复应用及获取资源字符串的方法。
摘要由CSDN通过智能技术生成

先讲讲需求:

1.我们提供一个我方APP支持的应用市场列表a

2.然后在本机上获取所有满足uri(即可根据包名跳到相应应用详情的接口)的列表b

3.取交集后显示在应用选择器上

4.返回是否成功打开chooser


代码如下:

由于从c++传字符串数组比较麻烦,所以约定将列表a(marketName)的包名用“#”分隔

public static boolean openAppMarket(String marketName, String packageName) {

//定义打开市场时使用的intent
Intent marketIntent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("market://details?id=" + packageName);  
marketIntent.setData(uri);

//获取本机所有市场类应用名
List<ResolveInfo> infos = pm.queryIntentActivities(marketIntent, 0);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值