qq分享组件 android,Android 分享功能实现与 QQ 纯文本分享

Android 分享功能实现与 QQ 纯文本分享

在 Android 系统中如何给应用增加分享功能?怎样将应用加入系统的分享选择列表?

通过系统分享组件实现分享功能

Intent.createChooser() 方法用来弹出系统分享列表。

createChooser(Intent target, CharSequence title, IntentSender sender) 参数。

常规方法

public void share(Context context){

Intent sendIntent = new Intent();

sendIntent.setAction(Intent.ACTION_SEND);

sendIntent.putExtra(Intent.EXTRA_TEXT, content);

sendIntent.setType("text/plain");

context.startActivity(sendIntent);

}

可以调用 手机中 所有的开发分享接口的应用,进行分享。

选取特定应用分享方法

举例 :纯文本分享给 QQ 好友(QQ 官方分享 SDK 是不支持纯文本分享的,但通过这种方式可以)

public void shareQQ(Context mContext){

Intent sendIntent = new Intent();

sendIntent.setAction(Intent.ACTION_SEND);

sendIntent.putExtra(Intent.EXTRA_TEXT, content);

sendIntent.setType("text/plain");

//sendIntent.setPackage("com.tencent.mobileqq");

// List list= getShareTargets(mContext);

try {

sendIntent.setClassName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity");

Intent chooserIntent = Intent.createChooser(sendIntent, "选择分享途径");

if (chooserIntent == null) {

return;

}

mContext.startActivity(chooserIntent);

} catch (Exception e) {

mContext.startActivity(sendIntent);

}

}

获得 手机 中 支持 纯文本分享的所有列表:

/* 获得支持ACTION_SEND的应用列表 */

private List getShareTargets(Context context) {

Intent intent = new Intent(Intent.ACTION_SEND, null);

intent.addCategory(Intent.CATEGORY_DEFAULT);

intent.setType("text/plain");

PackageManager pm = context.getPackageManager();

return pm.queryIntentActivities(intent, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);

}

怎样将自己的应用加入系统分享组件中?

先看一个腾讯微博的例子(网友反编译后的例子)

通过上面的可以看出下面这些是关键:

其中支持的类型可以多种,包括图片、纯文本、二进制等;

//可以是text/plain

通过以上即可实现分享和添加应用到分享列表的功能了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值