不采用第三方直接使用Intent分享,主要都是针对国外的比如FB,Line,WhatsApp,Telegram
来源:互联网 发布:lol比赛竞猜软件 编辑:程序博客网 时间:2024/05/11 13:19
其实系统的分享很简单,我们只要找到想要分享到的APP中的Action在加上知道包名就可以了
首先检查手机是否安装了某一项APP
public static boolean isAPPInstalled(Context context, String packageName) { PackageManager pm = context.getPackageManager(); List<PackageInfo> pinfo = pm.getInstalledPackages(0); for (int i = 0; i < pinfo.size(); i++) { if (pinfo.get(i).packageName.equals(packageName)) { return true; } } return false;}
我们只要传递包名就可以了
分享代码基本都千篇一律
/** * line分享 */public void lineShare(String url, String content) { try { ComponentName cn = new ComponentName("jp.naver.line.android", "jp.naver.line.android.activity.selectchat.SelectChatActivity"); Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND); shareIntent.setType("text/plain"); // 纯文本 shareIntent.putExtra(Intent.EXTRA_TEXT, content + " " + url); shareIntent.setComponent(cn);//跳到指定APP的Activity mActivity.startActivity(Intent.createChooser(shareIntent, "")); } catch (Exception ex) { Logger.e(TAG, "lineShare:" + ex); }}public void whatsAppShare(String url, String content) { try { Intent vIt = new Intent("android.intent.action.SEND"); vIt.setPackage("com.whatsapp"); vIt.setType("text/plain"); vIt.putExtra(Intent.EXTRA_TEXT, content + " " + url); mActivity.startActivity(vIt); } catch (Exception ex) { Logger.e(TAG, "whatsAppShare:" + ex); }}public void messengerShare(String url, String content) { try { Intent vIt = new Intent("android.intent.action.SEND"); vIt.setPackage("com.facebook.orca"); vIt.setType("text/plain"); vIt.putExtra(Intent.EXTRA_TEXT, content + " " + url); mActivity.startActivity(vIt); } catch (Exception ex) { Logger.e(TAG, "messengerShare:" + ex); }}public void telegramShare(String url, String content) { try { Intent vIt = new Intent("android.intent.action.SEND"); vIt.setPackage("org.telegram.messenger"); vIt.setType("text/plain"); vIt.putExtra(Intent.EXTRA_TEXT, content + " " + url); mActivity.startActivity(vIt); } catch (Exception ex) { Logger.e(TAG, "telegramShare:" + ex); }}public void wechatShare(String url, String content) { try { Intent vIt = new Intent("android.intent.action.SEND"); vIt.setPackage("com.tencent.mm"); vIt.setType("text/plain"); vIt.putExtra(Intent.EXTRA_TEXT, content + " " + url); mActivity.startActivity(vIt); } catch (Exception ex) { Logger.e(TAG, "wechatShare:" + ex); }}
很简单吧,就是有的时候包名不是太好找
阅读全文
0 0
- 不采用第三方直接使用Intent分享,主要都是针对国外的比如FB,Line,WhatsApp,Telegram
- Android不经过第三方\官方SDK直接使用Intent快捷实现QQ微信分享
- 对第三方社会化 sdk 的集成和二次封装,比如第三方授权登录、第三方分享等
- 不使用第三方分享框架实现分享功能
- 第三方 QQ分享的使用
- 不使用第三方分享到微信(安装微信)
- [Android]不经过第三方SDK直接调用系统自带分享QQ、微信
- Android:QQ分享、微信分享、朋友圈分享(不使用第三方SDK)
- Android:QQ分享、微信分享、朋友圈分享(不使用第三方SDK)
- Android:QQ分享、微信分享、朋友圈分享(不使用第三方SDK)
- 国外第三方分享,包括Facebook,twitter,Instagram
- 针对第三方SDK中不恰当的char *类型的几点看法
- 各种第三方的分享
- shareSDK(分享第三方库)的 使用
- sharesdk的使用,有关分享和第三方登录
- 使用sharesdk 进行第三方分享的流程
- android-友盟第三方登录,及分享的使用
- 使用友盟进行第三方平台的授权分享
- phpcms v9.6.0 前台调用后台编辑器
- android 图标控件的实现(一)
- 欢迎使用CSDN-markdown编辑器
- Pythone bug
- Ubuntu下固定IP网络设置——NAT
- 不采用第三方直接使用Intent分享,主要都是针对国外的比如FB,Line,WhatsApp,Telegram
- Uva 548
- 初识阻塞队列BlockingQueue
- python(list,tuple,dict,set)
- adb 打开apk
- spring-cloud-client搭建客户端(二)
- 我和亮亮有个约“绘”
- JPA 学习--Query接口下的 API 测试
- 《Redis设计与实现 黄建宏 著》阅读笔记目录(持续更新)