本篇文章給大家分享的是有關(guān)如何在Android應(yīng)用中調(diào)用系統(tǒng)自帶的分享功能,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供長(zhǎng)寧企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、H5場(chǎng)景定制、小程序制作等業(yè)務(wù)。10年已為長(zhǎng)寧眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
實(shí)現(xiàn)分享功能的幾個(gè)辦法
1.調(diào)用系統(tǒng)的分享功能
2.通過(guò)第三方SDK,如ShareSDK,友盟等
3.自行使用各自平臺(tái)的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, "分享"));
分享多個(gè)文件
ArrayListimageUris = 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,"多文件分享"));
上面幾個(gè)例子的效果都是一樣的,創(chuàng)建一個(gè)選擇器,讓用戶自己選擇分享到哪里。
這里有一點(diǎn)得注意,就是通過(guò)這種方法進(jìn)行分享,Intent傳遞的數(shù)據(jù)的Type(就是setType()方法)一定要控制好,不然會(huì)出錯(cuò)。(至于為什么后面說(shuō))。
其中由于是分享的res中的圖片,故轉(zhuǎn)變?yōu)閡ri,方法在這:
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, "分享到微信的內(nèi)容"); startActivity(wechatIntent);
指定分享到QQ
Intent qqIntent = new Intent(Intent.ACTION_SEND); qqIntent.setPackage("com.tencent.mobileqq"); qqIntent.setType("text/plain"); qqIntent.putExtra(Intent.EXTRA_TEXT, "分享到微信的內(nèi)容"); startActivity(qqIntent);
以上就是如何在Android應(yīng)用中調(diào)用系統(tǒng)自帶的分享功能,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。