创建分享
创建Intent并指定Action为Intent.ACTION_SEND。
val shareIntent = Intent(Intent.ACTION_SEND)
指定需要发送的内容和类型。
//传输文件 采用流的方式
intent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(File(fileUrl))
intent.type = "*/*"
发送隐式意图,打开系统分享选择器。
context.startActivity(shareIntent)
获取文件类型(MimeType)
文件分享时一般都要设置好文件类型,默认指定类型为*/*,已默认类型进行分享时有些App不支持这种类型,会导致我们分享失败,最好的方式是预先根据文件路径设置好文件类型。
常见文件的mimeType
{".3gp", "video/3gpp"},
{".apk", "application/vnd.android.package-archive"},
{".asf", "video/x-ms-asf"},
{".avi", "video/x-msvideo"},
{".bin", "application/octet-stream"},
{".bmp", "image/bmp"},
{".c", "text/plain"},
{".class", "application/octet-stream"},
{".conf", "text/plain"},
{".cpp", "text/plain"},
{".doc", "application/msword"},
{".exe", "application/octet-stream"},
{".gif", "image/gif"},
{".gtar", "application/x-gtar"},
{".gz", "application/x-gzip"},
{".h", "text/plain"},
{".htm", "text/html"},
{".html", "text/html"},
{".jar", "application/java-archive"},
{".java", "text/plain"},
{".jpeg", "image/jpeg"},
{".jpg", "image/jpeg"},
{".js", "application/x-javascript"},
{".log", "text/plain"},
{".m3u", "audio/x-mpegurl"},
{".m4a", "audio/mp4a-latm"},<