Android调用系统自带的分享功能实例代码

Android调用系统自带的分享功能实例代码,第1张

概述实现分享功能的几个办法1.调用系统的分享功能2.通过第三方SDK,如ShareSDK,友盟等

实现分享功能的几个办法

1.调用系统的分享功能

2.通过第三方SDK,如ShareSDK,友盟等

3.自行使用各自平台的SDK,比如QQ,微信,微博各自的SDK

这里就记录下第一种办法。

分享文本信息

    Intent textIntent = new Intent(Intent.ACTION_SEND);    textIntent.setType("text/plain");    textIntent.putExtra(Intent.EXTRA_TEXT,"这是一段分享的文字");    startActivity(Intent.createChooser(textIntent,"分享"));

效果如下图:

分享单张图片

    String path = getResourcesUri(R.drawable.shu_1);    Intent imageIntent = new Intent(Intent.ACTION_SEND);    imageIntent.setType("image/jpeg");    imageIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse(path));    startActivity(Intent.createChooser(imageIntent,"分享"));

分享多个文件

    ArrayList<Uri> imageUris = new ArrayList<>();    Uri uri1 = Uri.parse(getResourcesUri(R.drawable.dog));    Uri uri2 = Uri.parse(getResourcesUri(R.drawable.shu_1));    imageUris.add(uri1);    imageUris.add(uri2);    Intent mulintent = new Intent(Intent.ACTION_SEND_MulTIPLE);    mulintent.putParcelableArrayListExtra(Intent.EXTRA_STREAM,imageUris);    mulintent.setType("image/jpeg");    startActivity(Intent.createChooser(mulintent,"多文件分享"));

上面几个例子的效果都是一样的,创建一个选择器,让用户自己选择分享到哪里。

这里有一点得注意,就是通过这种方法进行分享,Intent传递的数据的Type(就是setType()方法)一定要控制好,不然会出错。(至于为什么后面说)。

其中由于是分享的res中的图片,故转变为uri,方法在这:

 private String getResourcesUri(@DrawableRes int ID) {  Resources resources = getResources();  String uriPath = ContentResolver.SCHEME_ANDROID_RESOURCE + "://" +    resources.getResourcePackagename(ID) + "/" +    resources.getResourceTypename(ID) + "/" +    resources.getResourceEntryname(ID);  Toast.makeText(this,"Uri:" + uriPath,Toast.LENGTH_SHORT).show();  return uriPath; }

指定分享到微信

    Intent wechatIntent = new Intent(Intent.ACTION_SEND);    wechatIntent.setPackage("com.tencent.mm");    wechatIntent.setType("text/plain");    wechatIntent.putExtra(Intent.EXTRA_TEXT,"分享到微信的内容");    startActivity(wechatIntent);

效果如下:

指定分享到QQ

    Intent qqIntent = new Intent(Intent.ACTION_SEND);    qqIntent.setPackage("com.tencent.mobileqq");    qqIntent.setType("text/plain");    qqIntent.putExtra(Intent.EXTRA_TEXT,"分享到微信的内容");    startActivity(qqIntent);

效果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的Android调用系统自带的分享功能实例代码全部内容,希望文章能够帮你解决Android调用系统自带的分享功能实例代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1146329.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存