首先 ,在做google plus 分享之前 ,确保你已经集成了google plus三方登录,如果你可以实现google plus登陆而需要做社会化分享,那么 接下来我贴的代码可能会对你有所帮助!如果还没有集成google plus 登陆的 点击下面这个链接:点击打开链接 这是官方文档,在这里不一一赘述。
如果已经成功集成google plus 登陆 那么离分享还会远吗?
只需调用如下代码:
Intent shareIntent = new PlusShare.Builder(UserCenterActivity.this) .setType("text/plain") .setText("Welcome to the Google+ platform.") .setContentUrl(Uri.parse("https://developers.google.com/+/")) .getIntent(); startActivityForResult(shareIntent, 0);
这是一个简单的文本分享 和网址分享功能,可以根据自己的需求自行修改
接下来是图片和视频的分享:
private static final int REQ_SELECT_PHOTO = 1;
Intent photoPicker = new Intent(Intent.ACTION_PICK); photoPicker.setType("video/*, image/*"); startActivityForResult(photoPicker, REQ_SELECT_PHOTO);
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); HBLog.d(TAG + " onActivityResult requestCode:" + requestCode + " resultCode:" + resultCode); if(requestCode == REQ_SELECT_PHOTO) { if(resultCode == RESULT_OK) { Uri selectedImage = data.getData(); ContentResolver cr = UserCenterActivity.this.getContentResolver(); String mime = cr.getType(selectedImage); PlusShare.Builder share = new PlusShare.Builder(UserCenterActivity.this); share.setText("hello everyone!"); share.addStream(selectedImage); share.setType(mime); try { startActivityForResult(share.getIntent(), 0); } catch (ActivityNotFoundException e) { Toast.makeText(UserCenterActivity.this, "You haven't installed google+ on your device", Toast.LENGTH_SHORT).show(); } } } }
这样 就完成了图片和视频的分享 ,但是注意 要对
try { startActivityForResult(share.getIntent(), 0); } catch (ActivityNotFoundException e) { Toast.makeText(UserCenterActivity.this, "You haven't installed google+ on your device", Toast.LENGTH_SHORT).show(); }进行异常处理 因为当分享图片和视频时,手机上需要已经安装了google +这个软件 不然会报
No Activity found to handle Intent { act=android.intent.action.SEND typ=image/png flg=0x80001 pkg=com.google.android.apps.plus (has clip) (has extras) }
这个异常,所以为了安全起见 处理下异常 。
当然英语好又能翻墙的可以直接看下官方文档:点击打开链接
日常笔记。