IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 短视频开发,Android 应用接入新浪微博分享 -> 正文阅读

[移动开发]短视频开发,Android 应用接入新浪微博分享

短视频开发,分享功能占据着重要的地位,主流的社交APP进行分享是一种很常见的推广、使用场景,微博是被分享的众多渠道之一,下面介绍一下,短视频开发Android APP是如何接入微博分享的。
首先,进行微博开发者平台的应用申请等操作,获取APPKEY等信息,然后,将微博SDK引入依赖。
接下来,介绍相关的代码操作:
在相关的Activity中,进行SDK的初始化

 private static final String APP_KY = " Key";
 private static final String REDIRECT_URL = "url";
 private static final String SCOPE = "scope";
 private IWBAPI mWBAPI;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
//init sdk
 initSdk();
 }
 private void initSdk() {
 AuthInfo authInfo = new AuthInfo(this, APP_KY, REDIRECT_URL, SCOPE);
     mWBAPI = WBAPIFactory.createWBAPI(this);
     mWBAPI.registerApp(this, authInfo);
 }
使用授权
private void startAuth() {
 //auth
 mWBAPI.authorize(new WbAuthListener() {
 @Override
 public void onComplete(Oauth2AccessToken token) {
 Toast.makeText(MainActivity.this, "微博授权成功", Toast.LENGTH_SHORT).show();
 }
 @Override
 public void onError(UiError error) {
 Toast.makeText(MainActivity.this, "微博授权出错", Toast.LENGTH_SHORT).show();
 }
 @Override
 public void onCancel() {
 Toast.makeText(MainActivity.this, "微博授权取消", Toast.LENGTH_SHORT).show();
 }
 });
 }
//使用微博客户端授权
 private void startClientAuth() {
 mWBAPI.authorizeClient(new WbAuthListener() {
 @Override
 public void onComplete(Oauth2AccessToken token) {
 Toast.makeText(MainActivity.this, "微博授权成功", Toast.LENGTH_SHORT).show();
 }
 @Override
 public void onError(UiError error) {
Toast.makeText(MainActivity.this, "微博授权出错", Toast.LENGTH_SHORT).show();
 }
 @Override
 public void onCancel() {
 Toast.makeText(MainActivity.this, "微博授权取消",
Toast.LENGTH_SHORT).show();

}
 });
 }
重写onActivityResult 获取微博授权的回调@Override
 protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
 super.onActivityResult(requestCode, resultCode, data);
 if (mWBAPI != null) {
 mWBAPI.authorizeCallback(requestCode, resultCode, data);
 }
 }
// 分享 回调  
 private static class ShareCallback implements WbShareCallback {
 @Override
 public void onComplete() {
 Toast.makeText(ShareActivity.this, "????", Toast.LENGTH_SHORT).show();
 }
 @Override
 public void onError(UiError error) {
 Toast.makeText(ShareActivity.this, "????:" + error.errorMessage, Toast.LENGTH_SHORT).show();
 }
 @Override
 public void onCancel() {
 Toast.makeText(ShareActivity.this, "????", Toast.LENGTH_SHORT).show();
 }
 }
 //?通过微博客户端授权操作
 private void doWeiboShare() {
 WeiboMultiMessage message = new WeiboMultiMessage();
 TextObject textObject = new TextObject();
 String text = "分享文本?";
分享文字
 if (mShareText.isChecked()) {
 text = "分享文本";
 }
 textObject.text = text;
 message.textObject = textObject;
// 分享单图
 if (mShareImage.isChecked()) {
 ImageObject imageObject = new ImageObject();
 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.share_image);
 imageObject.setImageData(bitmap);
 message.imageObject = imageObject;
 }
// 分享网页链接
 if (mShareUrl.isChecked()) {
 WebpageObject webObject = new WebpageObject();
 webObject.identify = UUID.randomUUID().toString();
 webObject.title = "标题";
 webObject.description = "描述";
 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_logo);
 ByteArrayOutputStream os = null;
 try {
 os = new ByteArrayOutputStream();
 bitmap.compress(Bitmap.CompressFormat.JPEG, 85, os);
 webObject.thumbData = os.toByteArray();
 } catch (Exception e) {
e.printStackTrace();
}finally{
try{
if(os!=null){
os.close();
}
}catch(IOExceptione){
e.printStackTrace();
}
}
webObject.actionUrl="https://weibo.com";
webObject.default
Text="分享网页";
message.mediaObject=webObject;
}
/ /分享多图
分享多图,短视频开发需要设置的是 本地图片文件的路径,并且是当前应用可访问的路径(高版本要申请读写权限),目前无法设置网络图片

 if (mShareMultiImage.isChecked()) {
 MultiImageObject multiImageObject = new MultiImageObject();
 List<Uri> list = new ArayList<Uri>()?
 list.add(Uri.fromFile(new File(“图片文件路径”)));
 list.add(Uri.fromFile(new File(“图片文件路径”)));
list.add(Uri.fromFile(new File(“图片文件路径”)));
list.add(Uri.fromFile(new File(“图片文件路径”)));
list.add(Uri.fromFile(new File(“图片文件路径”)));
list.add(Uri.fromFile(new File(“图片文件路径”)));

 multiImageObject.imageList = list;
 message.multiImageObject = multiImageObject;
 }
// 分享视频
分享视频,短视频开发需要设置的是 本地视频文件的路径,并且是当前应用可访问的路径(高版本要申请读写权限),目前无法设置网络视频链接,目前仅支持MP4格式

 if (mShareVideo.isChecked()) {
 VideoSourceObject videoObject = new VideoSourceObject();
 videoObject.videoPath = Uri.fromFile(new File(getExternalFilesDir(null) + "/eeee.mp4"));
 message.videoSourceObject = videoObject;
 }
 // mShareClientOnly.isChecked() ?//标识是否只通过微博客户端分享
mWBAPI.shareMessage(message, mShareClientOnly.isChecked());
 }

以上,就是短视频开发如何通过简单的微博sdk,进行微博分享的操作实现了,如果自定义分享内容,可以根据业务需求更改部分代码。
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:26:11  更:2022-03-03 16:29:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 16:42:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码