Android 调用系统分享

6 阅读1分钟

1、ShareUtils

object ShareUtils {
    
    /**
     * 分享回调结果 code
     */
    const val SHARE_RESULT_CODE = 10000
    
    /**
     * 分享图片
     * @params  url 图片地址路径
     */
    fun shareImage(context: Context, url: String, title: String) {
        val fileProvider = FileProvider.getUriForFile(context, getShareFileProvider(), File(url))
        Share2.Builder(context)
            .setContentType(ShareContentType.IMAGE)
            .setTitle(title)
            .setOnActivityResult(SHARE_RESULT_CODE)
            .setShareFileUri(fileProvider)
            .build()
            .shareBySystem()
    }
    
    /**
     *
     */
    fun shareText(link: String) {
        Share2.Builder(context)
            .setContentType(ShareContentType.TEXT)
            .setTitle(title)
            .setTextContent(link)
            .setOnActivityResult(SHARE_RESULT_CODE)
            .build()
            .shareBySystem()
    }
    
    /**
     * 当前包名 + .fileprovider
     */
    fun getShareFileProvider() = "com.share.model.fileprovider"
}