为什么我从小米手机文件里无法复制文件到小米8了一张图片到微博文件目录里,但是QQ打来图片时并没有找到这张图片?

您好, []|
数据显示,刚刚过去的6月份,人民币对美元汇率累计下跌3.44%,创1994年汇率并轨以来的最大单月跌幅。7月3日中国人民银行行长易纲、副行长潘功胜相继就汇率问题对外表态,人民币汇率日内由跌再次转涨。在岸人民币兑美元收报6.6672,离岸重回6.67关口,收复此前逾500点的跌幅。近期人民币汇率波动,市场对政策有诸多猜测,恐慌情绪也在逐渐滋生。
央行官员表态与市场沟通的有效性亦是可圈可点,不仅向市场有效解释了人民币走贬的原因,而且提出了支撑人民币汇率稳定的理由。
宝万之争在今天,也就是6月30日,迎来一个阶段性成果展示——万科在当天的股东大会...
// $('.lighting ul').html( html );
//获取财约你数据
getCaiyueniData : function(){
url: '//finance.qq.com/crossapi/finance/12243.html',
dataType: 'jsonp',
type: 'get',
jsonpCallback: 'crossCallback_12243'
}).done(function(result){
//if( result.code==='0' ){
var list = result.data,
html = '';
for(var i=0; i 20 ? title.substr(0, 18)+'...' :
var img = decodeURIComponent(item.image);
var src = img.indexOf('http:')!==-1? img.substring(img.indexOf('http:')+5):
html += '\
$('.caiyueni ul').html( html );
// 获取智图派数据
getZhituData : function(){
url: '//finance.qq.com/crossapi/finance/14132.html',
dataType: 'jsonp',
type: 'get',
jsonpCallback: 'crossCallback_14132'
}).done(function(result){
var list = result.data,
html = '',
_len = list.length,
len = _len>4 ? 4 : _
for(var i=0; i 20 ? title.substr(0, 18)+'...' :
html += '\
$('.zhitupai ul').html( html );
// 获取视频数据
getVideoData : function(){
url: '//data.v.qq.com/videocms/getNewsvideoList.php?ref=pclient&appkey=6UkwV9DeHr9_PC&vsite=finance&ename=finance_jpjm',
dataType: 'jsonp',
type : 'get'
}).done(function(result){
if( result.response.code == 0 ){
var content = result.data.content,
html = '',
for(var i=0; i< i++){
var item = content[i];
var img = decodeURIComponent(item.pic_url);
var src = img.indexOf('http:')!==-1? img.substring(img.indexOf('http:')+5):
if( i==0 ){
html += '\
var play_num = item.play_times ? ''+item.play_times.all+'' : '';
html += '\
'+play_num+'\
$('.video ul').html( html );
// 设置关键词
setKeywords : function(){
$('.keywords').each(function(){
var text = $.trim( $(this).text() ),
arr = text.split(';'),
t=arr.length,
max = t>3 ? 3 : t,
html = '';
for(var i=0; i< i++){
var s = $.trim(arr[i]);
html += '';
$(this).html( html ).show();
// 腾讯微博的分享
//tqqShare : function(){
//$('.s_weibo').each(function( index ){
//$(this).prop('id', index+1);
//$(".s_weibo").each(function(){
//_MI.ShareArticle2.build($(this).attr("id"));
// 设置时间格式并滚动
hScroll : function(){
$('.hscroll .con').hScroll();
// 设置右侧的广告位
setSideAd : function(){
var $focus_03 = $('#focus_03'),
$l_qq_com = $('#focus_03 .l_qq_com'),
$focus_02 = $('#focus_02');
var timer = setInterval(function(){
if( $l_qq_com.html() != "" ){
$focus_02.html( $focus_03.html() );
clearInterval( timer );
init : function(){
this.hScroll();
this.setZIndex();
// this.getScrollData();
this.setKeywords();
this.getLightData();
this.getZhituData();
this.getCaiyueniData();
this.getVideoData();
//this.tqqShare();
this.setSideAd();
$(".remenzhuanti .bd").mCustomScrollbar({
theme:"minimal-dark",
autoHideScrollbar : true
tool.init();
// 分享按钮
$('.list').on('mouseover', '.shareBtn', function(){
$(this).addClass('shareBtnHover').children('.shareBtn16').show();
}).on('mouseout', '.shareBtn', function(){
$(this).removeClass('shareBtnHover').children('.shareBtn16').hide();
}).on('click', '.more', function(e){
// 点击查看更多
var $this = $(this),
$list = $this.parents('.list'),
$med = $list.find('.med[ft=1]'),
$med_0 = $list.find('.med[ft=0]'),
$section = $med.find('.section'),
$section_0 = $med_0.find('.section'),
page = parseInt( $this.attr('page') || 0 ),
ftop = $list.offset().
if( page<len-1 ){
for(var i=0; i 0 ){
$section.removeAttr('style');
$more.attr('page', '0').text('点击查看更多');
setTimeout(function(){
$list.find('.section_0').css('overflow', 'visible');
$("#focus_01").qqfocus({
space: 5000,
// 时间间隔
effect:'fade'
$("#focus_02").qqfocus({
space: 5000,
// 时间间隔
effect:'fade'
$(".huike, .lighting, .zhitupai,.caiyueni").on('mouseenter', 'li', function(){
$(this).addClass("current").siblings().removeClass("current");
$("#tabs1").tabs({
type: "mouseover",
current: "current",
hdItem: ".tab_hd_item",
bdItem: ".tab_bd_item"
id: "upBtn",
distance:500,//29
isTop: false
function advshow(){
var ww = $(window).width();
if( ww >=1280){
$('#focus_02').hide();
$('#focus_03').show();
$('#focus_02').show();
$('#focus_03').hide();
advshow();
loadWideCss();
jQuery(window).resize(function(){
loadWideCss();
advshow();
|xGv00|c1fd2c7c254ecef2c9b01 */专注团队沟通协作
支持云文件、在线文档、邮件收发、日程等办公功能。
熟悉的QQ习惯
使用QQ帐号登录,QQ好友和消息无缝同步。
在线文档和云文件
支持在线编辑Word和Excel,提供10G云盘,收发文件长期有效。
丰富的办公功能
与消息互通的邮件收发、日程管理、电话等功能,让沟通更流畅。
10G免费云文件
上传文件云端存储,收发文件长期有效。
在线Word/Excel,多端多人随时编辑。
消息云端同步
手机电脑消息同步,历史消息随时查看。
同步系统日程,新建个人日程,还可发起会议邀请。
可代收和编辑各类邮箱邮件,邮件附件能够转存到云文件。
支持纸质名片扫描识别,可作为资料备注在名片夹中统一管理。
支持通讯录模式,群文件统一管理,方便团队群内协作。
好友、多人之间可进行实时清晰的语音及视频通话。
可将重要的聊天内容添加至收藏,支持二次编辑。
可以进行充值、转账、理财等个人服务。
为办公用户提供出行、消费、学习、美食等优惠权益。
使用QQ号登录,QQ安全中心为你保驾护航。我用的小米3 从微信 qq还有别的任何软件保存的图片 图库里都没有 文件管理里面可以找到 想要微信_百度知道
我用的小米3 从微信 qq还有别的任何软件保存的图片 图库里都没有 文件管理里面可以找到 想要微信
我用的小米3 从微信 qq还有别的任何软件保存的图片 图库里都没有 文件管理里面可以找到 想要微信发给别人图片 在图库里都找不到 有大神知道这是怎么回事么?拜托帮忙解决一下
我有更好的答案
小米相册是分区分段的,照片分手机相册,本地相册,云相册。大多保留的截图的都在本地相册。
本地里也没有
那说明你保存的照片格式有问题吧,你在微信找个照片再试试。
不会没有的
是真的没有 文件管理里面有 图库里本地相册没有
我的在手机相册
你好。打开图库~点击菜单键~设置~显示隐藏相册,选择打开。
打开了 只显示了两个没用的系统相册 从微信保存图片成功后 图库里还是没有
本回答被网友采纳
可能你设置了隐藏,把图片库设置成显示隐藏~
打开了 只显示了两个没用的系统相册 从微信保存图片成功后 图库里还是没有
我的手机可以,当然不是小米手机~之前玩过小米手机,是可以显示!没注意细节了~
还有一点就是你的图太多了。
我昨晚把照片都删除了 现在里边一张没有 刚刚从微信保存了图片 图库里还是没有
其他1条回答
为您推荐:
其他类似问题
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。QQ阅读 - 腾讯文学 - 文字之美,感动心灵热词: 原创男生《》
择天记丨主修一系,怎如全系全通丨武道九重镜,神道五重天创世排行榜人气榜月票榜15354111250722122873311744441074355103336697327794428887769986421010114061133422219943316714412635511546611527711298810929910701010原创女生《》
军婚甜蜜蜜丨国民男神狠强势丨墨少蚀骨宠云起排行榜人气榜月票榜7380389112206082222149381331591308441239297558327726678719577755197886789369962529710101522311145612289863387374485045577456669207767298850429949261010QQ阅读《》
橙红年代丨让你迅速找到身边的怪咖丨季羡林先生以幽默甚至是调侃畅销书周榜畅销人气免费人气21681112166922215813320830442017255149806614978771203488115659910294101048111122下载客户端关注微信创世中文chuangshi.qq.com汇集最新最热最火的男性竞技小说在线阅读云起书院yunqi.qq.com汇集言情小说阅读QQ阅读dushu.qq.com汇集畅销小说阅读论坛bbs书迷作家汇聚之处客服Custom有问题 找客服20.6k 次阅读
标签:至少1个,最多5个
现在项目中用个第三方登录,或分享已经不是什么稀奇事了,但是要想把这个功能做好,那可就不容易了。估计到这里就有人会说了,扯犊子,这玩意,我用第三方sdk,什么umeng,sharesdk分分钟给你做出来,可是这些第三方sdk只有对项目的分享要求不高的时候才适合,如果要定制分享,那我就只能呵呵。虽然第三方登录或分享没什么技术难度,但是各种配置,而且每一个都不太一样,少配置一个地方代码就通不过了,所以基于上问题,特写此文以备不时之需。
好,上面扯太多了,现在正式上代码,我们先从QQ入手,你问为什么,因为他最简单呀
下载sdk并运行demo
首先不得不吐槽一个问题,就是腾讯的文档是最全的,全的你都找不到在哪里,这里下载官方下载
另外,由于官方文档太难找了,特上此图
首先下载sdk,我下载的版本是Android_SDK_V2.9.4,解压后目录如图所示
其他jar目录下面是需要添加你的项目依赖中去的jar包,sample就是顾名思义啦,可以直接将他导入eclipse,并更编码为utf-8,不过当前版本的demo配置有点问题,导入完成后会有如下错误
不过别急,我们程序员最擅长解决这种问了,再说有什么问题能难倒我聪明的程序员呢
首先我们可以随便打开一个文件,可以查看到时找不到这样的包com.tencent.tauth.IRequestListener,这我们第一反应肯定是,没有加入依赖包,卧槽,真聪明,恭喜你答对了,呵呵~
既然这样那问题就简单了,直接拷贝jar目录下面jar包放到libs,并add path(如果需要),这下整个世界都清净了,错误统统滚开了,现在就可以运行看看效果
&uses-permission android:name="android.permission.INTERNET" /&
&uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&
&uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&
&!-- SDK2.1新增获取用户位置信息 --&
&uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&
&uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /&
&uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /&
&uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /&
&uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&
&uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /&
&uses-permission android:name="android.permission.READ_PHONE_STATE" /&
&uses-permission android:name="android.permission.GET_TASKS"/&
配置activity
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true" &
&intent-filter&
&action android:name="android.intent.action.VIEW" /&
&category android:name="android.intent.category.DEFAULT" /&
&category android:name="android.intent.category.BROWSABLE" /&
&!-- 这地方的123456需要用你在开放平台申请的appid替换 --&
&data android:scheme="tencent123456" /&
&/intent-filter&
&/activity&
android:name="com.tencent.connect.common.AssistActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="behind"
android:theme="@android:style/Theme.Translucent.NoTitleBar" /&
到这里我们的清单文件和activity都配置完了,接下来我要实例化Tencent类,所有的操作都是通过他来的,查看demo这个类的实例化是在MainActivity#onCreate方法中,并弄成了单例
public static Tencent mT
if (mTencent == null) {
mTencent = Tencent.createInstance(mAppid, this);
IUiListener
现在我们需要在分享或登录的过程中拿到一些状态,就需要用到IUiListener,调用SDK已经封装好的接口时,例如:登录、快速支付登录、应用分享、应用邀请等接口,需传入该回调的实例。
IUiListener qqShareListener = new IUiListener() {
public void onCancel() {
if (shareType != QQShare.SHARE_TO_QQ_TYPE_IMAGE) {
Util.toastMessage(QQShareActivity.this, "onCancel: ");
public void onComplete(Object response) {
// TODO Auto-generated method stub
Util.toastMessage(QQShareActivity.this, "onComplete: " + response.toString());
public void onError(UiError e) {
// TODO Auto-generated method stub
Util.toastMessage(QQShareActivity.this, "onError: " + e.errorMessage, "e");
//如果要收到QQ分享,或登录的一些状态,必须加入代码
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Tencent.onActivityResultData(requestCode,resultCode,data,listener);
我这只贴我们今天用到的代码,其他的大家可以直接在demo里面复制,本文主要内容是,记录一些配置,而并不是贴代码
public void shareOnlyImageOnQQ(View view) {
final Bundle params = new Bundle();
params.putString(QQShare.SHARE_TO_QQ_IMAGE_LOCAL_URL, Environment.getExternalStorageDirectory().getAbsolutePath().concat("/a.png"));
params.putString(QQShare.SHARE_TO_QQ_APP_NAME, "测试应用");
params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_IMAGE);
params.putInt(QQShare.SHARE_TO_QQ_EXT_INT, QQShare.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN); //打开这句话,可以实现分享纯图到QQ空间
doShareToQQ(params);
private void doShareToQQ(final Bundle params) {
// QQ分享要在主线程做
ThreadManager.getMainHandler().post(new Runnable() {
public void run() {
if (null != mTencent) {
mTencent.shareToQQ(QQActivity.this, params, qqShareListener);
分享到QZONE
截止到,QZONE暂不支持纯图片分享,这里也有说。但是我们可以通过分享到QQ时设置一个参数,就可以直接分享纯图到QQ空间了
public void shareOnlyImageOnQZone(View view) {
final Bundle params = new Bundle();
//本地地址一定要传sdcard路径,不要什么getCacheDir()或getFilesDir()
params.putString(QQShare.SHARE_TO_QQ_IMAGE_LOCAL_URL, Environment.getExternalStorageDirectory().getAbsolutePath().concat("/a.png"));
params.putString(QQShare.SHARE_TO_QQ_APP_NAME, "测试应用");
params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_IMAGE);
params.putInt(QQShare.SHARE_TO_QQ_EXT_INT, QQShare.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN); //打开这句话,可以实现分享纯图到QQ空间
doShareToQQ(params);
注意:这里有个很重要的就是,分享本地图片时路径一定不要传getCacheDir()或getFilesDir()等。不要问我为什么,因为你既然是分享图片到QQ,他要帮我显示,但你给他一个私有目录,他肯定不能显示,那种重点来了,这就到导致很多朋友在做分享时,分享的图片不能显示得原因了。别我是怎么知道的,我说我猜的,你信么~~
QQ实例完整代码,因为肯定问了,既然上面贴了部分代码,为啥下面还要全贴处理,这你就不懂了吧,上面我只贴了部分,但是他们没多大的关联性,可能不太好理解,而我希望的就是,大家一看看就明白了,不需要再下载demo再在手机上跑一遍,就能解决问题,效果才是王道
package cn.woblog.testthirdpartyfunction.
import android.content.I
import android.os.B
import android.os.E
import android.support.v7.app.AppCompatA
import android.view.V
import com.tencent.connect.share.QQS
import com.tencent.open.utils.ThreadM
import com.tencent.tauth.IUiL
import com.tencent.tauth.T
import com.tencent.tauth.UiE
import cn.woblog.testthirdpartyfunction.R;
import cn.woblog.testthirdpartyfunction.U
public class QQActivity extends AppCompatActivity {
public static Tencent mT
private static final String mAppid = "";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_qq);
if (mTencent == null) {
mTencent = Tencent.createInstance(mAppid, this);
public void shareOnlyImageOnQZone(View view) {
final Bundle params = new Bundle();
//本地地址一定要传sdcard路径,不要什么getCacheDir()或getFilesDir()
params.putString(QQShare.SHARE_TO_QQ_IMAGE_LOCAL_URL, Environment.getExternalStorageDirectory().getAbsolutePath().concat("/a.png"));
params.putString(QQShare.SHARE_TO_QQ_APP_NAME, "测试应用");
params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_IMAGE);
params.putInt(QQShare.SHARE_TO_QQ_EXT_INT, QQShare.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN); //打开这句话,可以实现分享纯图到QQ空间
doShareToQQ(params);
public void shareOnlyImageOnQQ(View view) {
final Bundle params = new Bundle();
params.putString(QQShare.SHARE_TO_QQ_IMAGE_LOCAL_URL, Environment.getExternalStorageDirectory().getAbsolutePath().concat("/a.png"));
params.putString(QQShare.SHARE_TO_QQ_APP_NAME, "测试应用");
params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_IMAGE);
params.putInt(QQShare.SHARE_TO_QQ_EXT_INT, QQShare.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN); //打开这句话,可以实现分享纯图到QQ空间
doShareToQQ(params);
private void doShareToQQ(final Bundle params) {
// QQ分享要在主线程做
ThreadManager.getMainHandler().post(new Runnable() {
public void run() {
if (null != mTencent) {
mTencent.shareToQQ(QQActivity.this, params, qqShareListener);
IUiListener qqShareListener = new IUiListener() {
public void onCancel() {
Util.toastMessage(QQActivity.this, "onCancel: ");
public void onComplete(Object response) {
// TODO Auto-generated method stub
Util.toastMessage(QQActivity.this, "onComplete: " + response.toString());
public void onError(UiError e) {
// TODO Auto-generated method stub
Util.toastMessage(QQActivity.this, "onError: " + e.errorMessage, "e");
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Tencent.onActivityResultData(requestCode, resultCode, data, qqShareListener);
Sina(微博)
我们到下载相应的[官方demo]()并且多看看项目的ReadeMe,写的很详细让你少走弯路。解压后项目结构如图所示:
如果是第一次集成,我们可以直接运行WeiboSDKDemo_v3.1.4.apk先查看效果,这样也方便你对他的功能和效果有一个大概了解,当如也可以直接导入demo-src目录下面的代码,
通过这种方式运行工程时,请务必替换默认的 debug.keystore文件,否则无法正确的授权成功。另外,该debug.keysotre 是新浪官方的,除了编译运行官方 DEMO 外,请不要直接使用它,出于安全的考虑,您应该为自己的应用提供一份 keysotre。
在C:\Users\XXXXX\.android目录下,把Android默认的debug.keystore替换成当前微博demo里面提供debug.keystore。
在集成微博前,需要到新浪微博官网创建一个应用,在控制台-基本信息菜单里面填上包名和签名,签名通过签名工具获取工具
配置权限,如果已经添加了相应的权限,就不要重复添加了
&uses-permission android:name="android.permission.INTERNET" /&
&uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /&
&uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&
&uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&
配置返回微博的activity
在进行微博分享前,需要在AndroidManifest.xml中,在需要接收消息的Activity(唤起微博主程序的类)里声明对应的Action:ACTION_SDK_REQ_ACTIVITY,如下所示:
&!--sina--&
&activity android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser"
android:configChanges="keyboardHidden|orientation"
android:windowSoftInputMode="adjustResize"
android:exported="false" &
&/activity&
&service android:name="com.sina.weibo.sdk.net.DownloadService"
android:exported="false"&
&/service&
&!--\sina--&
&activity android:name=".activity.QQActivity"&
&/activity&
&activity android:name=".activity.SinaActivity"&
&!-- 调用新浪原生SDK,需要注册的回调activity --&
&intent-filter&
&action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /&
&category android:name="android.intent.category.DEFAULT" /&
&/intent-filter&
&/activity&
选择集成sdk方式
在集成微博SDK前,有两种方式来集成微博SDK:
直接导入weibosdkcore.jar:适用于只需要授权、分享、网络请求框架功能的项目
引用WeiboSDK工程(Library):适用于微博授权、分享,以及需要登陆按钮、调用OpenAPI的项目
在这里我采用方式1,因为我不需要登录按钮和直接调用OpenAPI
WeiboMessage weiboMessage = new WeiboMessage();
ImageObject imageObject = new ImageObject();
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
imageObject.setImageObject(bitmap);
weiboMessage.mediaObject = imageO
SendMessageToWeiboRequest request = new SendMessageToWeiboRequest();
request.transaction = String.valueOf(System.currentTimeMillis());
request.message = weiboM
mWeiboShareAPI.sendRequest(SinaActivity.this, request);
如果配置没问题的话,到这一步已经是可以分享得了,如果遇到什么问题,请在下方评论,我一定会回复的
package cn.woblog.testthirdpartyfunction.
import android.content.I
import android.graphics.B
import android.graphics.BitmapF
import android.os.B
import android.support.v7.app.AppCompatA
import android.view.V
import android.widget.T
import com.sina.weibo.sdk.api.ImageO
import com.sina.weibo.sdk.api.WeiboM
import com.sina.weibo.sdk.api.share.BaseR
import com.sina.weibo.sdk.api.share.IWeiboH
import com.sina.weibo.sdk.api.share.IWeiboShareAPI;
import com.sina.weibo.sdk.api.share.SendMessageToWeiboR
import com.sina.weibo.sdk.api.share.WeiboShareSDK;
import com.sina.weibo.sdk.constant.WBC
import cn.woblog.testthirdpartyfunction.C
import cn.woblog.testthirdpartyfunction.R;
public class SinaActivity extends AppCompatActivity implements IWeiboHandler.Response {
private IWeiboShareAPI mWeiboShareAPI;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sina);
// 创建微博分享接口实例
mWeiboShareAPI = WeiboShareSDK.createWeiboAPI(this, Constants.APP_KEY);
// 注册第三方应用到微博客户端中,注册成功后该应用将显示在微博的应用列表中。
// 但该附件栏集成分享权限需要合作申请,详情请查看 Demo 提示
// NOTE:请务必提前注册,即界面初始化的时候或是应用程序初始化时,进行注册
mWeiboShareAPI.registerApp();
// 当 Activity 被重新初始化时(该 Activity 处于后台时,可能会由于内存不足被杀掉了),
// 需要调用 {@link IWeiboShareAPI#handleWeiboResponse} 来接收微博客户端返回的数据。
// 执行成功,返回 true,并调用 {@link IWeiboHandler.Response#onResponse};
// 失败返回 false,不调用上述回调
if (savedInstanceState != null) {
mWeiboShareAPI.handleWeiboResponse(getIntent(), this);
public void testShareImage(View view) {
WeiboMessage weiboMessage = new WeiboMessage();
ImageObject imageObject = new ImageObject();
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
imageObject.setImageObject(bitmap);
weiboMessage.mediaObject = imageO
SendMessageToWeiboRequest request = new SendMessageToWeiboRequest();
request.transaction = String.valueOf(System.currentTimeMillis());
request.message = weiboM
mWeiboShareAPI.sendRequest(SinaActivity.this, request);
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
// 从当前应用唤起微博并进行分享后,返回到当前应用时,需要在此处调用该函数
// 来接收微博客户端返回的数据;执行成功,返回 true,并调用
// {@link IWeiboHandler.Response#onResponse};失败返回 false,不调用上述回调
mWeiboShareAPI.handleWeiboResponse(intent, this);
* 接收微客户端博请求的数据。
* 当微博客户端唤起当前应用并进行分享时,该方法被调用。
* @param baseResp 微博请求数据对象
* @see {@link IWeiboShareAPI#handleWeiboRequest}
public void onResponse(BaseResponse baseResp) {
if (baseResp != null) {
switch (baseResp.errCode) {
case WBConstants.ErrorCode.ERR_OK:
Toast.makeText(this, "success", Toast.LENGTH_LONG).show();
case WBConstants.ErrorCode.ERR_CANCEL:
Toast.makeText(this, "cancel", Toast.LENGTH_LONG).show();
case WBConstants.ErrorCode.ERR_FAIL:
Toast.makeText(this, "Error Message: " + baseResp.errMsg,
Toast.LENGTH_LONG).show();
说道微信又不得不吐槽了,要想获得微信登录,还得是企业账户才能申请,还得交钱,你说这叫什么事
首先我打开微信开发者官网,注册个账号或者用已有的账号登录,在管理中心创建应用并提交审核,审完完成如下图。
可以看到我们已经获得,分享到朋友圈或朋友的权限,微信登录等还需要申请,那我现在只有先测试分享了
首先我们来到下载相应的sdk和开发文档
这其中我只下载了如下sdk
第一个是:获取签名的,不过我感觉不太好用,因为他没有复制签名的按钮,每次还得照着一个一个打出来,我推荐用
第二个是:使用微信分享、登录、收藏、支付等功能需要的库以及文件
第三个是:范例代码,包含了一个完整的范例工程。该范例的使用可以参阅Android平台上手指南
首先我们用eclipse导入示例代码,替换当前目录下的keystore,然后运行就可以查看相关示例
下面我们就应该来安装官方文档来集成sdk了
首先在官网创建一个应用,获取到AppId,然后把刚刚下载的sdk包里面的libammsdk.jar拷贝到你的项目libs目录下,并添加到path(如果需要)
配置权限:
说到这里,有的吐槽了,你看看这个排版,简直是差评
在看看我们下面的代码,这排版,这样是,一看就是很帅的人写的~~
&uses-permission android:name="android.permission.INTERNET"/&
&uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/&
&uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/&
&uses-permission android:name="android.permission.READ_PHONE_STATE"/&
&uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/&
配置activity
由于我们要接受微信分享的一些信息,比如:分享成功或失败
这一步很重要,配置错误将收不到消息,在你的包名根目录下创建wxapi包,然后在该包下创建activity命名为WXEntryActivity并实现IWXAPIEventHandler接口,基本代码如下:
package cn.woblog.testthirdpartyfunction.
import android.os.B
import android.support.v7.app.AppCompatA
import com.tencent.mm.sdk.openapi.BaseR
import com.tencent.mm.sdk.openapi.BaseR
import com.tencent.mm.sdk.openapi.IWXAPIEventH
import cn.woblog.testthirdpartyfunction.R;
public class WXEntryActivity extends AppCompatActivity implements IWXAPIEventHandler {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wxentry);
// 微信发送请求到第三方应用时,会回调到该方法
public void onReq(BaseReq baseReq) {
// 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法
public void onResp(BaseResp baseResp) {
载清单文件里配置你的activity
&activity android:name=".wxapi.WXEntryActivity" android:exported="true"&
&/activity&
创建实例,并注册到微信
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wxentry);
//如果分享的时候,该界面没有开启,那么微信开始这个activity时,会调用onCreate,所以这里要处理微信的返回结果
WxActivity.api.handleIntent(getIntent(), this);
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
//如果分享的时候,该已经开启,那么微信开始这个activity时,会调用onNewIntent,所以这里要处理微信的返回结果
setIntent(intent);
WxActivity.api.handleIntent(intent, this);
* @param isShareFriend true 分享到朋友,false分享到朋友圈
private void share2Wx(boolean isShareFriend) {
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
WXImageObject imgObj = new WXImageObject(bitmap);
WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = imgO
Bitmap thumbBmp = Bitmap.createScaledBitmap(bitmap, THUMB_SIZE, THUMB_SIZE, true);//缩略图大小
bitmap.recycle();
msg.thumbData = Util.bmpToByteArray(thumbBmp, true);
// 设置缩略图
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("img");
req.message =
req.scene = isShareFriend ? SendMessageToWX.Req.WXSceneSession : SendMessageToWX.Req.WXSceneT
api.sendReq(req);
这里就简单了,直接调用上面的方法share2Wx(true);
share2Wx(false);
这里是这个分享的完整代码
package cn.woblog.testthirdpartyfunction.
import android.graphics.B
import android.graphics.BitmapF
import android.os.B
import android.support.v7.app.AppCompatA
import android.view.V
import com.tencent.mm.sdk.openapi.IWXAPI;
import com.tencent.mm.sdk.openapi.SendMessageToWX;
import com.tencent.mm.sdk.openapi.WXAPIF
import com.tencent.mm.sdk.openapi.WXImageO
import com.tencent.mm.sdk.openapi.WXMediaM
import com.tencent.mm.sdk.platformtools.U
import cn.woblog.testthirdpartyfunction.C
import cn.woblog.testthirdpartyfunction.R;
public class WxActivity extends AppCompatActivity {
private static final int THUMB_SIZE = 150;
public static IWXAPI
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wx);
// 通过WXAPIFactory工厂,获取IWXAPI的实例
api = WXAPIFactory.createWXAPI(this, Constants.WX_APP_ID, false);
// 将该app注册到微信
api.registerApp(Constants.WX_APP_ID);
* 分享一张图片到朋友
* @param view
public void testShareImage2friend(View view) {
share2Wx(true);
* 分享一张图片到朋友圈
* @param view
public void testShareImage2friends(View view) {
share2Wx(false);
* @param isShareFriend true 分享到朋友,false分享到朋友圈
private void share2Wx(boolean isShareFriend) {
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
WXImageObject imgObj = new WXImageObject(bitmap);
WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = imgO
Bitmap thumbBmp = Bitmap.createScaledBitmap(bitmap, THUMB_SIZE, THUMB_SIZE, true);//缩略图大小
bitmap.recycle();
msg.thumbData = Util.bmpToByteArray(thumbBmp, true);
// 设置缩略图
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("img");
req.message =
req.scene = isShareFriend ? SendMessageToWX.Req.WXSceneSession : SendMessageToWX.Req.WXSceneT
api.sendReq(req);
private String buildTransaction(final String type) {
return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis();
另外说点题外话,鉴于我是有点强迫症的人,所以在代码以及文字的组织和代码的格式化都保持良好的风格,特别是代码的格式,我都是每次先自己写一遍,然后在从开发工具里拷贝出来,有时还得按tad一点一点点缩进(如果哪位大神有更好的方法,希望指教下),才贴到这上面了,以为我觉得既然要写博客就要写好,这要才对别人有帮助,在我觉得如果文字排版或者代码格式乱乱的,就是耍流氓。
以上测试的代码我放到了,有什么问题可以直接评论或者在github上创建issure
如果我的文章对来带来的帮助,可加我微信,微博,QQ什么啥的交个朋友也是不错的,另外微信,微博都会不定期发一些优质的文章,感谢大家的支持~~,联系方式在我的个人介绍里啦
3 收藏&&|&&46
你可能感兴趣的文章
代码测试过吗,QQ空间分享的图片不用ArrayList&String&?
代码测试过吗,QQ空间分享的图片不用ArrayList&String&?
新浪微博的分享报错:Class not found when unmarshalling: com.sina.weibo.sdk.api.ImageObjectjava.lang.ClassNotFoundException: com.sina.weibo.sdk.api.ImageObject
新浪微博的分享报错:
`Class not found when unmarshalling: com.sina.weibo.sdk.api.ImageObject`
`java.lang.ClassNotFoundException: com.sina.weibo.sdk.api.ImageObject`
肯定测试通过了啊,代码在github上,具体的可以加群:,沟通方便
肯定测试通过了啊,代码在github上,具体的可以加群:,沟通方便
你这个应该是没加混淆那代码吧
你这个应该是没加混淆那代码吧
是SDK的问题,我没混淆的直接运行的,这个问题不管是我自己写的还是友盟的,都是这个错,现在又没这个错了,什么的都没改,真是个奇葩问题
是SDK的问题,我没混淆的直接运行的,这个问题不管是我自己写的还是友盟的,都是这个错,现在又没这个错了,什么的都没改,真是个奇葩问题
我的微博分享报错: Failed to find provider info for com.sina.weibo.sdkProvider
我的微博分享报错: Failed to find provider info for com.sina.weibo.sdkProvider
请问能把视频直接分享到微博吗,就是不是直接分享视频链接,用户还得点击链接才能看到视频,能实现直接把视频显示在微博上么
请问能把视频直接分享到微博吗,就是不是直接分享视频链接,用户还得点击链接才能看到视频,能实现直接把视频显示在微博上么
你可能感兴趣的文章
分享到微博?
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。}

我要回帖

更多关于 无法复制文件到小米8 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信