网站地图    收藏   

主页 > 后端 > 微信开发 >

Android 分享到微信 - 微信公众平台开发:微信公

来源:自学PHP网    时间:2015-04-14 12:58 作者: 阅读:

[导读] 1 ** 2 * 分享信息到朋友 3 * 4 * @param file,假如图片的路径为path,那么file = new File(path); 5 * 6 private void share...

  /**
       * 分享信息到朋友
       * 
       * @param file,假如图片的路径为path,那么file = new File(path);
       */
      private void shareToFriend(File file) {
          Intent intent = new Intent();
          ComponentName componentName = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI");
          intent.setComponent(componentName);
         intent.setAction(Intent.ACTION_SEND);
         intent.setType("image/*");
         intent.putExtra(Intent.EXTRA_TEXT, "测试微信");
         intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
         startActivity(intent);
     }

\

  /**
       * 分享信息到朋友圈
       * 
       * @param file,假如图片的路径为path,那么file = new File(path);
       */
      private void shareToTimeLine(File file) {
          Intent intent = new Intent();
          ComponentName componentName = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI");
          intent.setComponent(componentName);
         
        intent.setAction(Intent.ACTION_SEND);
         intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
         
 //        intent.setAction(android.content.Intent.ACTION_SEND_MULTIPLE);
 //        ArrayList<Uri> uris = new ArrayList<Uri>();
//        for (int i = 0; i < images.size(); i++) {
 //            Uri data = Uri.fromFile(new File(thumbPaths.get(i)));
 //            uris.add(data);
 //        }
 //        intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
         
         intent.setType("image/*");
         
         startActivity(intent);
     }

( 自己备注:以上两个例子缺点是,分享后微信标识“返回到第三方工具”,这个显示的第三方工具其实就是sharesdk 的demo,需要在sharesdk 注册你的应用,然后更换你的key,就可以显示应用名称)

\

第一:下载官方的sdk demo。

第二:解压,并将工程导入到eclipse

解压出来的时候,发现根目录下有一个debug.keystore文件,这个文件很关键的哦。

然后我们运行看看,你会发现分享根本就不成功,是微信原因吗,当然不是。

第三:在上面说到项目的根目录下有一个debug.keystore文件,因为我们编译、签名apk的时候,用的是我们自带的那个debug.keystore,每台电脑都是不一样的签名文件,而且微信那个APP_ID已经签名文件debug.keystore绑定了的,所以为什么我们直接运行时候是不成功的。

解决方法就是将微信的那个debug.keystore拷贝到我们电脑默认的那个debug.keystore位置,将其覆盖(建议先备份)。

在window系统,这个签名文件在c:\用户\你的用户名\.android目录下(注意.android文件夹默认是隐藏的)。

再次运行,分享就成功了。

如果是我们的应用,将APP_ID替换成我们在官网上面申请的APP_ID就行了。

其实我们分享信息到微信,还有一种更简单的方法,不用其提供的SDK API,直接调用微信相关的Activity,这样更加省事,例如以上"分享信息到朋友".

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论