欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

Android分享-微信、Facebook、Google

发布时间:2025/5/22 Android 83 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Android分享-微信、Facebook、Google 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1.引入分享库:

implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:5.1.4' implementation 'com.facebook.android:facebook-share:[4,5)',{exclude group: 'com.google.zxing', module: 'core' } implementation 'com.google.android.gms:play-services-plus:15.0.1' 复制代码

2.微信分享:

在项目包名下新建包,新建包名必须为:wxapi wxapi包名下新建类:WXEntryActivity 分享回调处理在WXEntryActivity中,具体内容如下: /**

  • Created by Chao 2018/7/20 on 11:05

  • description 微信SDK回调路径 */ class WXEntryActivity : AppCompatActivity(), IWXAPIEventHandler {

    override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) WXAPIFactory.createWXAPI(this, App.APP_ID, false).handleIntent(intent, this); }

    /**

    • 微信发送请求到第三方应用时,会回调到该方法 */ override fun onReq(p0: BaseReq?) { }

    /**

    • 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法

    • app发送消息给微信,处理返回消息的回调 */ override fun onResp(resp: BaseResp) { when (resp.errCode) { BaseResp.ErrCode.ERR_AUTH_DENIED, BaseResp.ErrCode.ERR_USER_CANCEL -> { showToast("分享取消") finish() }

      BaseResp.ErrCode.ERR_OK -> finish() 复制代码

      } } }

微信分享初始化: /**

  • Created by Chao 2018/5/8 on 13:31
  • description */

class App : BaseApplication() {

override fun init() {registerWeChat(this) }/*** 注册微信分享*/ private fun registerWeChat(context: Context) {api = WXAPIFactory.createWXAPI(context, APP_ID, true);api.registerApp(APP_ID); }companion object {lateinit var api: IWXAPIconst val APP_ID = "wx88888888"fun getWXAPI(): IWXAPI {return api} } 复制代码

}

微信分享调起: /**

  • Created by Chao 2018/7/25 on 16:22

  • description */ object ShareUtil {

    fun share(activity: AppCompatActivity) { CommonShareDialog.show(activity, R.layout.common_dialog_share_chinese) { val webpage = WXWebpageObject() webpage.webpageUrl = "www.baidu.com"

    val msg = WXMediaMessage(webpage)msg.title = "标题"msg.description = "描述"//msg.thumbData = getWXThumb(bitmap).toByteArray()val req = SendMessageToWX.Req()//WXSceneTimeline朋友圈 WXSceneSession聊天界面req.scene = if (it == 0) SendMessageToWX.Req.WXSceneSession else SendMessageToWX.Req.WXSceneTimeline//0微信 1朋友圈req.message = msgreq.transaction = System.currentTimeMillis().toString()App.getWXAPI().sendReq(req)if (it == 0) {//微信activity.showToast("微信")} else if (it == 1) {//朋友圈activity.showToast("朋友圈")}} 复制代码

    }

    fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { } }

2.facebook、google+分享:

/**

  • Created by Chao 2018/7/25 on 16:22

  • description */ object ShareUtil { private val GOOGLE_REQUEST_CODE: Int = 162 private var callbackManager: CallbackManager? = null

    fun share(activity: AppCompatActivity) { FacebookSdk.setApplicationId("217521058906811") FacebookSdk.sdkInitialize(activity.applicationContext) CommonShareDialog.show(activity, R.layout.common_dialog_share_international) { if (it == 0) {//facebook val content = ShareLinkContent.Builder() .setContentUrl(Uri.parse("developers.facebook.com")) .build() callbackManager = CallbackManager.Factory.create() val shareDialog = ShareDialog(activity) shareDialog.registerCallback(callbackManager, object : FacebookCallback<Sharer.Result> { override fun onCancel() { activity.showToast("分享取消") }

    override fun onSuccess(result: Sharer.Result?) {activity.showToast("分享成功")}override fun onError(error: FacebookException?) {activity.showToast("分享失败")}})shareDialog.show(content, ShareDialog.Mode.AUTOMATIC)//activity.showToast("facebook")} else if (it == 1) {//googleval shareIntent = PlusShare.Builder(activity).setType("text/plain") // 不变.setText("Welcome to the Google+ platform.") // 自定义内容.setContentUrl(Uri.parse("https://developers.google.com/+/")) // 自定义链接地址.getIntent()try {activity.startActivityForResult(shareIntent, GOOGLE_REQUEST_CODE)} catch (e: ActivityNotFoundException) {activity.showToast("You haven't installed google+ on your device")}//activity.showToast("google+")}} 复制代码

    }

    fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { if (requestCode == GOOGLE_REQUEST_CODE) {

    return}callbackManager?.onActivityResult(requestCode, resultCode, data) 复制代码

    } }

3.分享展示:

版权声明:本文为博主原创文章,未经博主允许不得转载。

总结

以上是生活随笔为你收集整理的Android分享-微信、Facebook、Google的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。