解决方案 »

  1.   

    exported 表示其他外部组件能否访问你的服务或者activity,如果exported=true,那么系统能够通过你宣称的能力,打开你如果你exported=false,即使你设置了默认方式,那么系统没有访问到你的权限,只能弹出文件选项框了找其他方式打开了。至于为什么intentfilter会影响结果,我也不清楚,不知道其他人知道么
      

  2.   

    嗯,exported=false时,ResolverActivity会将我的程序过滤掉,所以我就不明白到底哪儿触发了重新选择打开方式。
      

  3.   

    个人已找到原因,就是因为Intentfilter的原因,导致PackageManagerService quer到的Activity数量与ResolverActivity过滤后的Activity数量不一致,所以每次都重新提示选择打开方式。