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

实现分享功能的几个办法

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);

效果如下:

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

时间: 2024-10-06 04:38:41

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

android-安卓开发关于调用系统自带的分享功能

问题描述 安卓开发关于调用系统自带的分享功能 刚刚做了个调用系统分享功能的事件,点击按钮,进入图库,选择图片时调用系统的分享功能,出现个问题,直接进入qq界面分享到QQ,微信,微博其他的都没出来,求解,下面是代码 //调用图库 public void Getpic(){ Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); intent.putExtra("crop&

Android编程调用系统自带的拍照功能并返回JPG文件示例【附demo源码下载】

本文实例讲述了Android编程调用系统自带的拍照功能返回JPG文件.分享给大家供大家参考,具体如下: package com.eboy.testcamera1; import java.io.File; import java.io.FileOutputStream; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.os.Bund

Android调用系统自带浏览器打开网页的实现方法

在Android中可以调用自带的浏览器,或者指定一个浏览器来打开一个链接.只需要传入一个uri,可以是链接地址. 启动android默认浏览器 在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器.如果手机本身安装了多个浏览器而又没有设置默认浏览器的话,系统将让用户选择使用哪个浏览器来打开连接. Uri uri = Uri.parse("https://www.baidu.com"); Intent intent = new Intent(Intent.ACTI

Android调用系统自带功能( 照相,浏览照片,打开浏览器,拨打电话)

MainActivity如下: package cn.com.bravesoft.testintent; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import androi

界面-Android 调用系统文件管理器 进行文件储存

问题描述 Android 调用系统文件管理器 进行文件储存 Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*"); intent.addCategory(Intent.CATEGORY_OPENABLE); 用这段代码跳转到系统文件管理器了. 但是没有保存按钮该怎么保存?能不能在跳转的界面上添加个保存按钮 想要的效果!图片说明实际效果 解决方案 文件保存 为什么 调用文件管理器? 直接写

Android调用系统Email 多附件

在Android中调用其他程序进行相关处理,都是使用的Intent.当然,Email也不例外. 在Android中,调用Email有三种类型的Intent: Intent.ACTION_SENDTO 无附件的发送 Intent.ACTION_SEND 带附件的发送 Intent.ACTION_SEND_MULTIPLE 带有多附件的发送 当然,所谓的调用Email,只是说Email可以接收Intent并做这些事情,可能也有其他的应用程序实现了相关功能,所以在执行的时候,会出现选择框进行选择. 1

Android调用系统默认浏览器访问的方法_Android

一.启动android默认浏览器 这样子,android就可以调用起手机默认的浏览器访问. 二.指定相应的浏览器访问 1.指定android自带的浏览器访问 ( "com.android.browser":packagename :"com.android.browser.BrowserActivity":启动主activity) Intent intent= new Intent(); intent.setAction("android.intent.a

Android中系统自带锁WalkLock与KeyguardLock用法实例详解

本文实例讲述了Android中系统自带锁WalkLock与KeyguardLock用法.分享给大家供大家参考,具体如下: WalkLock - 顾名思义 唤醒锁 点亮屏幕用的 KeyguardLock - 顾名思义 键盘锁 解锁键盘用的 详细介绍: 1: WalkLock 唤醒锁 - WalkLock真的能点亮屏幕吗? 答案是肯定的. 可是有时候为什么不点亮屏幕,这个就是参数设置的问题了. 复制代码 代码如下:PowerManager.newWakeLock(PowerManager.FULL_

win7系统自带的剪贴板功能如何打开?

  win7系统自带的剪贴板功能如何打开?          具体方法如下: 1.点击"开始"菜单,在"搜索程序和文件"搜索栏中输入"cmd"命令符,出现"cmd.exe"启动程序; 2.接着上一步直接按下键盘上的回车键(enter键)或者鼠标左键点击"cmd.exe"程序; 3.在打开的程序界面中输入"clip /?"命令符调用剪贴板查看器(注意,clip和/之间是有一个空格的); 4