内容简介:Fastandrutils 是一套整理修改整合的android开发常用的工具类。这样可以减少复制粘贴代码,从而减少重复代码,也不用为了一个常用的功能去谷歌百度,让代码更简洁,让开发更高效。
关于
Fastandrutils 是一套整理修改整合的android开发常用的 工具 类。
这样可以减少复制粘贴代码,从而减少重复代码,也不用为了一个常用的功能去谷歌百度,让代码更简洁,让开发更高效。
同时希望您的添加完善,让android开发变得更简单。
系统的分享界面
自定义分享界面
介绍
改工具类实现了
- 调用系统的分享功能
- 自定义分享界面功能
- 可分享文字,文件,图片等
- 简单易用
- 无需接入第三方分享sdk
使用
调用系统的分享界面
new FShare.FShareBuilder(FShareActivity.this, null) .setShareContent("0000") .setShareSubject("dddd") .build() .shareBySystem();
调用自定义的分享界面
new FShare.FShareBuilder(FShareActivity.this, "cn.hotapk.goodfilemanager.fileprovider") .setShareContent("0000") .setShareSubject("dddd") // .setShareFilter(new String[]{"com.tencent.mm", "cn.andouya", "com.qihoo360.feichuan", "com.lenovo.anyshare", "com.sand.airdroid"}) .build() .shareByCustom();
参数说明
参数 | 说明 |
---|---|
mActivity | FragmentActivity |
shareFilter | 显示你想要分享出去的应用的包名类别 |
filePath | 文件路径 |
topTitle | 显示标题 |
shareContent | 分享的内容 |
shareSubject | 分享的主题 |
authorities | Android7.0的文件权限 的FileProvider AndroidManifest.xml provider下配置的名称 |
requestCode | startActivityForResult 回调 |
componentNames | ComponentName列表 |
关键代码
指定分享到某个应用
private Intent getIntent(ComponentName componentName, String mimeType, Uri uri) { Intent shareIntent = new Intent(Intent.ACTION_SEND); if (componentName != null) { shareIntent.setComponent(componentName); } shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); shareIntent.setType(mimeType); if (uri != null) { shareIntent.putExtra(Intent.EXTRA_STREAM, uri); } shareIntent.putExtra(Intent.EXTRA_TEXT, shareContent); shareIntent.putExtra(Intent.EXTRA_SUBJECT, shareSubject); return shareIntent; }
获取所有支持分享的应用
List<ShareBean> shareBeans = new ArrayList<>(); Intent intent = new Intent(Intent.ACTION_SEND); intent.setType(mimeType); List<ResolveInfo> resolveInfos = getActivity().getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); for (int i = 0; i < resolveInfos.size(); i++) { ResolveInfo resolveInfo = resolveInfos.get(i); PackageManager pm = getActivity().getApplication().getPackageManager(); ActivityInfo activityInfo = resolveInfo.activityInfo; ShareBean shareBean = new ShareBean(); shareBean.setAppName(activityInfo.loadLabel(pm).toString()); shareBean.setPackageName(activityInfo.packageName); shareBean.setClassName(activityInfo.name); shareBean.setIcon(activityInfo.loadIcon(pm)); if (shareFilter != null && shareFilter.length > 0) { for (int j = 0; j < shareFilter.length; j++) { if (shareBean.getPackageName().equals(shareFilter[j])) { shareBeans.add(shareBean); } } } else { shareBeans.add(shareBean); } }
github地址
完毕。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 红蓝对抗中的云原生漏洞挖掘及利用实录
- 利用Jsonp跨域请求数据(原生和Jquery的ajax请求),简单易懂!
- 零信任原生安全:超越云原生安全
- 畅谈云原生(下):云原生的飞轮理论
- 【云原生丨主题周】云原生为何物?为何重要?
- Micronaut 2.0.0 发布,原生云原生微服务框架
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web信息架构(第3版)
Peter Morville、Louis Rosenfeld / 陈建勋 / 电子工业出版社 / 2008年8月 / 85.00
本书涵盖了信息架构基本原理和实践应用的方方面面。全书共7个部分,包括信息架构概述、信息架构的基本原理、信息架构的开发流程和方法论、信息架构实践、信息架构与组织、两个案例研究,以及参考资料清单。 本书兼具较高的理论价值和实用价值,曾被Web设计领域多本书籍重点推荐,是信息架构领域公认的经典书,不论新手还是专家都能各取所需。本书可供Web设计与开发者、Web架构师、网站管理者及信息管理相关人员参......一起来看看 《Web信息架构(第3版)》 这本书的介绍吧!